在Mac上使用脚本更改主机文件

时间:2016-05-03 10:17:02

标签: bash macos terminal sudo hosts

我正在尝试在mac上的主机文件中添加一行。 我正在使用的命令是:

sudo echo "192.168.99.100 test" >> /private/etc/hosts

此方法适用于Windows& Linux但在Mac上我即使在sudo模式下运行它也没有权限运行它。

有人能告诉我我做错了什么以及如何解决这个问题?

StefanJanssen

1 个答案:

答案 0 :(得分:2)

尝试echo '192.168.99.100 test' | sudo tee -a /private/etc/hosts

>>是shell本身的语法,它以您的用户身份运行。 sudo echo "192.168.99.100 test" >> /private/etc/hosts以root身份运行echo "192.168.99.100 test">>“pipe to file”作为您的用户运行。

tee是一个普通命令,您可以以root身份运行sudo,它输出到stdout和文件,因此echo 'line' | sudo tee -a file将执行您想要的操作。 tee -a将附加到文件而不是覆盖它。