为什么当cp a b> c时,cp a b会导致错误?当a和b文件都不存在时,a结果没有错误。
从我的理解cp ab给出错误,因为两个文件都不存在,有意义并且cp ab> a似乎创建了两个文件并将空白从b复制到a但是a为空的原因是因为操作的输出实际上并不存在产生任何信息。
请告诉我正确的解释是什么。感谢
答案 0 :(得分:2)
当你调用cp a b > a
时,shell所做的第一件事就是创建文件a
。然后,它会创建一个子项,并在子项执行cp
之前将其输出重定向到该文件。因此a
在cp
开始之前就已存在,并且很乐意复制该文件。