我可以使用mv file1 file2
的一种方式,它只能移动file1
到file2
,如果file2
不存在?
我试过了
yes n | mv -i file1 file2
(这可以mv
询问是否应该重写file2并自动回答“否”),但是除了滥用-i
它之外,它也不会给我带来很好的错误代码(如果移动了,则总是141而不是0;如果不移动则是其他东西)
-T
为此。
mv
而不是的退出状态yes
,最简单的解决方法可能是mv -i file1 file2 < <(yes n)
pipefail
选择141,因为退出状态为yes
,否则mv
将没有理由在此处获取SIGPIPE。