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

Change host file with script on Mac

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

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

此方法在 windows 和 linux 上有效,但在 Mac 上我没有 运行 的权限,即使 运行 宁它在 sudo 模式下。

任何人都可以告诉我我做错了什么以及如何解决这个问题吗?

斯特凡詹森

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

>> 是 shell 本身的语法,运行ning 作为您的用户。 sudo echo "192.168.99.100 test" >> /private/etc/hosts 运行s echo "192.168.99.100 test" 作为 root 并且 >> "pipe to file" 是 运行 作为您的用户。

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