当我偶然发现以下命令时,我打算从https://github.com/creationix/nvm下载nvm
:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
有谁知道-o
背后的破折号的含义?在手册页中没有提到它,我也找不到任何线索。我也尝试过没有-o-
选项,它仍然可以工作,这就是为什么我想知道它可能意味着什么?
答案 0 :(得分:10)
-o
' -
选项使您能够指定输出文件。此上下文中的stdout
引用标准输出(curl
),这意味着bash
将其响应输出到作为stdout
调用的标准输入插入的标准输出。
在这种情况下,它可能已被省略,因为输出curl
是stdout
的标准行为。
正如chepner提到的那样,当您同时下载多个资源并希望仅在curl -o- -o fileA -o fileB url1 url2 url3
上显示其中一个资源时,它会变得有用:
url1
在这种情况下,stdout
将输出到url2
,fileA
输出到url3
,fileB
输出到stdout
。
请注意,这仍然可以避免,因为没有匹配输出规范的资源将输出到curl -o fileA -o fileB url2 url3 url1
。以下命令的行为与前一个相同:
{{1}}