" - "是bash中stdout的快捷方式吗?如果不是什么意思?例如,
wget -q -O - $line
Run Code Online (Sandbox Code Playgroud)
stdin怎么样?
感谢致敬!
Mat*_*lia 15
据我所知,bash没有涉及破折号的使用.它只是许多UNIX命令行实用程序的约定,它可以-作为占位符接受stdin或stdout在命令行上替换输入或输出文件名.
对于使用操作数来表示要打开以进行读取或写入的文件的实用程序," - "操作数应仅用于表示标准输入(或从上下文中明确指定输出文件时的标准输出).
-只是wget(以及其他一些工具)使用的约定来指示将输出发送到stdout.它不是bash的一部分,但它是一个由命令本身处理的特殊情况(-如果您认为是这种情况,某些命令将最终创建一个" "文件).您可以将其替换为/dev/stdout(并且通常可以/dev/stdin在适当时用作输入文件).