小编sta*_*abs的帖子

我如何大声朗读 shell 命令并清楚地理解它?

我一直无法大声表达 linux 命令。例如:

curl -L example.com/file.txt -o "path/to/something with spaces.txt"
Run Code Online (Sandbox Code Playgroud)

我可以说“curl dash big L example dot com slash file dot txt dash small o path slash to slash something with space dot txt in引号”,但这是可以理解的模棱两可。我的意思是

curl -Lexample.com/file.txt -opath/to/"something with spaces.txt"
Run Code Online (Sandbox Code Playgroud)

...或者

curl -L example.com/file.txt -o path/to/somethingwithspaces."txt"
Run Code Online (Sandbox Code Playgroud)

......甚至这个:

"curl-Lexample.com/file.txt-opath/to/somethingwithspaces.txt"
Run Code Online (Sandbox Code Playgroud)

显然,最后一个不太可能,但我的问题仍然存在:

例如,如果我正在通过电话与某人通话,我该怎么做才能确保与我通话的人正确键入命令?是否有减少错误和混淆的方法?

shell terminal command

3
推荐指数
1
解决办法
87
查看次数

io重定向运算符后的空格?

我注意到在编写 shell 脚本时,人们是否在 I/O 重定向操作符后放置一个空格存在很多不一致之处。例如:

foo >bar.txt
Run Code Online (Sandbox Code Playgroud)

会起作用,但这也会起作用:

foo > bar.txt
Run Code Online (Sandbox Code Playgroud)

....甚至这个:

foo       >             bar.txt
Run Code Online (Sandbox Code Playgroud)

事实上,即使是 Linux 文档项目页面也令人沮丧地不一致 -在一个地方和另一个地方使用2>&1(实际上在我的Bash终端中没有空格)> filename

我一直使用前者,因为后者对我来说就像 2 个不同的论点,但我想知道:两者之间有什么区别或推理吗?

>bar.txt> bar.txt什么的更便携?或者我应该在 1 种定义的情况下使用 1 种语法,而在另一种情况下使用另一种?

io-redirection shell-script

1
推荐指数
1
解决办法
429
查看次数

为什么 CTRL + C 不退出 vim?

我知道,由于这个问题esc,如果我按然后输入:q!,我可以退出编辑器。vim

但是,标准约定是当按下ctrl+时程序退出,这会将 a 发送到当前正在运行的进程。cSIGINT

例如,toptail -fping都遵循此约定。

我的问题是:为什么vim遵循这个既定的惯例?是有历史原因,还是另有原因?

在我看来,如果它像其他所有事情一样遵循这个标准约定,将会避免新用户的很多困惑。

(当我们这样做时,为什么会这样SIGINT而不是SIGTERM首先呢?)

vim conventions sigint

0
推荐指数
1
解决办法
1984
查看次数