我正在尝试向 Mac 上的主机文件添加一行。 我使用的命令是:
sudo echo "192.168.99.100 test" >> /private/etc/hosts
此方法确实适用于 Windows 和 Linux,但在 Mac 上,即使在 sudo
模式下运行,我也无权运行它。
有人可以告诉我我做错了什么以及如何解决这个问题吗?
斯特凡·詹森
最佳答案
尝试 echo '192.168.99.100 测试' | sudo tee -a/private/etc/hosts
。
>>
是 shell 本身的语法,它以您的用户身份运行。 sudo echo "192.168.99.100 test">>/private/etc/hosts
以 root 身份运行 echo "192.168.99.100 test"
和 >>
“管道到文件”以您的用户身份运行。
tee
是一个普通命令,您可以使用 sudo
以 root 身份运行,它会输出到 stdout 和文件,因此 echo 'line' | sudo tee -a file
会做你想做的事。 tee -a
将附加到文件而不是覆盖它。
关于bash - 在 Mac 上使用脚本更改主机文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37001468/