不明确的卷曲命令-o-

时间:2016-11-09 14:44:30

标签: bash curl

当我偶然发现以下命令时,我打算从https://github.com/creationix/nvm下载nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

有谁知道-o背后的破折号的含义?在手册页中没有提到它,我也找不到任何线索。我也尝试过没有-o-选项,它仍然可以工作,这就是为什么我想知道它可能意味着什么?

1 个答案:

答案 0 :(得分:10)

-o' -选项使您能够指定输出文件。此上下文中的stdout引用标准输出(curl),这意味着bash将其响应输出到作为stdout调用的标准输入插入的标准输出。

在这种情况下,它可能已被省略,因为输出curlstdout的标准行为。

正如chepner提到的那样,当您同时下载多个资源并希望仅在curl -o- -o fileA -o fileB url1 url2 url3 上显示其中一个资源时,它会变得有用:

url1

在这种情况下,stdout将输出到url2fileA输出到url3fileB输出到stdout

请注意,这仍然可以避免,因为没有匹配输出规范的资源将输出到curl -o fileA -o fileB url2 url3 url1 。以下命令的行为与前一个相同:

{{1}}