我正在从 zsh 邮件列表中阅读有关键绑定的消息,我想知道我需要按哪个键:
^X^I
(我认为Ctrl-X
Ctrl-I
,首都X
和I
)^[^@
(我觉得Ctrl-Esc-@
??)^X^[q
(我觉得Ctrl-X
Esc-q
??)^XQ
(我认为Ctrl-X
和 Q ??)^[[1;3A
^[[1;3D
从 bindkey
^[[1;5C
^[[A
我知道这^[
意味着 Esc,但我不确定如何找到其他人。是否有任何官方参考或网站列出这些?
我知道括号导致命令在子shell中运行,大括号导致命令组合在一起但不在子shell中。
当我用括号运行它时:
no_func || (
echo "there is nothing"
exit 1
)
echo $?
Run Code Online (Sandbox Code Playgroud)
这将返回退出状态:
/Users/myname/bin/ex5: line 34: n_func: command not found
there is nothing
1
Run Code Online (Sandbox Code Playgroud)
但是当我使用大括号时:
no_func || {
echo "there is nothing"
exit 1
}
echo $?
Run Code Online (Sandbox Code Playgroud)
这不会返回退出状态。
/Users/myname/bin/ex5: line 34: no_func: command not found
there is nothing
Run Code Online (Sandbox Code Playgroud)
但是为什么一个返回退出状态而另一个不返回?
我跑:
$ man cd > mancd
$ cat mancd
Run Code Online (Sandbox Code Playgroud)
这按预期显示。但是当我用 VSCode 和 vim 打开文件时,它们是完全不同的。
为什么会这样以及如何将手册页正确重定向到文件。
我正在尝试用空格替换斜杠:
category='dir1/dir2/dir3'
category="${category//\// /}"
echo $category
dir1 /dir2 /dir3
Run Code Online (Sandbox Code Playgroud)
我想得到dir1 dir2 dir3
.
我怎样才能使用 Bash 得到这个?
我在一个数组中有一个包含以下内容的文件。我FAVORITE_FULL
在我的 Bash 脚本中调用它。
[
{
"name": "__SOLOPIANO__ by rautemusik (rm.fm)",
"url_resolved":"https://rautemusik-de-hz-fal-stream14.radiohost.de/solopiano?ref=radiobrowser&listenerid=31363235323832333936-326130333a343030303a33373a34323a633466653a346366663a666561373a38393431-3533343132-53747265616d436865636b426f742f302e312e30",
"favicon": "https://i.ibb.co/48KRX7M/solopiano.jpg",
"tags": "ambient,jazz,smooth lounge,smooth,smooth jazz",
"countrycode": "DE",
"language": "english,deutsch german,deutsch,german"
},
{
"name": "- 0 N - Smooth Jazz",
"url_resolved":"http://0n-jazz.radionetz.de/0n-jazz.aac",
"favicon": "http://www.0nradio.com/images/favicon/mstile-144x144.png",
"tags": "ambient,jazz,smooth lounge,smooth,smooth jazz",
"countrycode": "DE",
"language": "german"
},
...
]
Run Code Online (Sandbox Code Playgroud)
在此过程中,我在文件中创建了一个 JSON。我TEMP_FILE2
在我的脚本中调用它。
{
"name": ".977 Smooth Jazz",
"url_resolved":"http://19353.live.streamtheworld.com:3690/977_SMOOJAZZ_SC",
"favicon": "http://977music.com/images/logo.gif",
"tags": "jazz,smooth jazz",
"countrycode": "US",
"language": "english"
}
Run Code Online (Sandbox Code Playgroud)
现在我想添加TEMP_FILE2
到FAVORITE_FULL
. 我根据这个线程尝试了以下内容。
1.
jq '.[] += ["$TEMP_FILE2"]' …
Run Code Online (Sandbox Code Playgroud) 我正在尝试修改 markdown 文件。在一个文件中,有很多像这样的链接。
[string one](/stringtwo/#stringthree)
Run Code Online (Sandbox Code Playgroud)
我想将它们更改为以下内容:
[string one](stringtwo.html#stringthree)
Run Code Online (Sandbox Code Playgroud)
删除斜杠并添加.html
.
我尝试了以下方法:
sed -i 's/](\(\/.*\)#/](\1.html#/g' file
Run Code Online (Sandbox Code Playgroud)
但它回来了[global configuration](/config/.html#globals)
。它不会删除斜杠。
我怎样才能使用bash
or来实现这一点sed
?
我找到了以下内容,想知道在哪里可以找到手册:
? echo ${#}
1
? echo ${##}
1
? echo ${?}
0
? echo ${??}
0
? echo ${!}
0
? echo ${-}
569JNORXZghiklms
? echo ${--}
569JNORXZghiklms
Run Code Online (Sandbox Code Playgroud)