为什么我可以追加到文件但不能覆盖它?

为什么我可以追加到文件但不能覆盖它?

如果我这样做:

iptables -nvL > output.txt

output.txt最终变成空的。如果我做:

iptables -nvL >> output.txt

效果很好。追加有效,但覆盖无效。为什么?

答案1

您可能noclobber在 shell 中启用了该选项。这可以防止现有文件被输出重定向覆盖。要禁用它,请运行set +o noclobber.可能是在您的或其他等效文件noclobber中的某个位置设置的。.bashrc/etc/profile

另请参阅man setman bash了解详细信息。

相关内容