Bash:什么是 echo xy >| foo 吗?

mrk*_*rks 0 linux bash command-line

内核MTTR文档 给出了这样的命令:

echo "base=0xf8000000 size=0x400000 type=write-combining" >| /proc/mtrr
Run Code Online (Sandbox Code Playgroud)

虽然我知道什么>|做什么,但我从未见过它们结合在一起。谷歌搜索bash >|不是很有帮助。我的实验没有显示echo bla > foo和之间有任何区别echo bla >| foo

cho*_*oba 5

搜索man bash字符串显示

-C 如果设置,bash 不会用 >、>& 和 <> 重定向运算符覆盖现有文件。在使用重定向运算符 >| 创建输出文件时,这可能会被覆盖。而不是>。

set

因此,它的意思是“即使设置了 -C 也会覆盖”。