Answers:
预期的结果是一个空白/etc/hosts
文件。
在程序开始运行并开始从文件读取之前,> /etc/hosts
会发生重定向并截断 文件。tr
要将输出写入/etc/hosts
,您可以使用文件的副本(或之后将输出文件移到适当的位置),也可以使用sponge
moreutils的命令,该命令将吸收标准输入并写入文件:
tr a A < /etc/hosts | sort -r | pr -d | sponge /etc/hosts
在这种情况下,每个“A”在/etc/hosts
将被替换为“A”,所有的线将被以相反的具体的语言环境来分类,一个空行将每行之间插入,且结果将被放入/etc/hosts
。
您可能还会发现有用:
bash: /etc/hosts: Permission denied
错误(假设您的shell是bash),除非您将此运行为root
。/etc/hosts
通常只能由root写入。如果您以root
(实际上不应该)运行它,那么您将/etc/hosts
如迈克尔·霍默(Michael Homer)所说的那样空着。