bash: 将标准输入重定向到文件

bash: redirecting standard input to a file

zsh 具有这个方便的功能,可以使用

将标准输入通过管道传输到文件
>file

bash 相当于什么?

zsh> file的含义取决于某些选项的设置方式。如果设置了 SH_NULLCMD,则它等同于 : > file,这将是任何 sh 派生的 shell、bash 中的等价命令。

有关详细信息,请参阅标题 REDIRECTIONS WITH NO COMMAND 下的 man zshmisc

更新:我完全错了。设置 SH_NULLCMD 完全改变了 > file 的含义,使 > file 等同于 bash 中的 : > file 而不是 bash 中的 : > file等同于 zsh.

> file 的默认行为

正如 cdarke 指出的(他应该 post 答案),bash 中的正确等价物是 cat > file.

请参阅@chepner 的 post,了解 zsh 如何做到这一点的完整解释。 bash 中的等价物是:

cat > file

当我们看到 cat 时就警钟长鸣,这是 often abused 但这是对程序的合法使用。严格来说只是重定向部分> file是bash,cat本身就是一个独立的程序。