这种重定向“|>”只是一个错误还是意味着什么?

Bdi*_*ch2 9 bash io-redirection

我打错了,但 bash 没有打印任何错误(但创建了一个空文件),所以我想也许它实际上意味着什么?(例如日期|> tmp.txt)

ilk*_*chu 17

这似乎只是一个管道,其中第二部分是一个空命令,只包含重定向。把它写成date | >file可能更容易解释。空命令除了处理重定向、创建文件之外什么都不做。

date >| file另一方面,将作为noclobbershell 选项的覆盖,防止常规>覆盖现有文件。

$ touch foo; set -o noclobber
$ date > foo
bash: foo: cannot overwrite existing file
$ date >| foo       # works
Run Code Online (Sandbox Code Playgroud)