输入和输出重定向到同一文件

Rak*_*ish 6 bash

一般如何将输入和输出重定向到同一个文件?我的意思是,具体来说,有一个-o命令sort,并且对于各种命令可能还有其他这样的选项。但是,我通常如何将输入和输出重定向到同一个文件而不破坏文件呢?

例如:sort a.txt > a.txt破坏a.txt文件内容,但我想将答案存储在同一个文件中。我知道我可以在使用临时文件后使用mvand rm,但是可以直接执行吗?

Eta*_*ner 0

如果命令不支持mv在完成后自行执行,则不会。

shell 在运行您告诉它运行的命令之前就会截断输出文件。(尝试使用不存在的命令,您会发现它仍然被截断。)

这就是为什么有些命令有选项可以为您执行此操作(使您不必command input > output && mv output input自己使用或类似)。