管道的输出重定向在命令流中重复使用相同文件名的后果
有时我们在输出重定向中会将结果输出到某一个文件中,如:ps | sort | uniq > data.txt,该语句是将按字母顺序排序 ps 命令的输出,再用 uniq 命令去除名字相同的进程,最后将这些进程输入到 data.txt 中。
如果在 shell 中敲入了命令如左:cat data.txt | sort | uniq > data.txt,这时你会发现 data.txt 的内容为空,因为相应的输出文件是在命令被创建的同时立刻被创建或写入的,而你在读取文件之前就已经覆盖了这个文件的内容。

you are the best!

浙公网安备 33010602011771号