Изменить файл хоста со скриптом на Mac

Я пытаюсь добавить строку в файл hosts на Mac. Я использую команду:

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

Этот метод работает на Windows и Linux, но на Mac у меня нет прав для запуска, даже когда он работает в sudo Режим.

Кто-нибудь может сказать мне, что я делаю неправильно и как я могу это исправить?

StefanJanssen

1 ответ

Решение

Пытаться echo '192.168.99.100 test' | sudo tee -a /private/etc/hosts,

>> это синтаксис самой оболочки, которая работает как ваш пользователь. sudo echo "192.168.99.100 test" >> /private/etc/hosts работает echo "192.168.99.100 test" как корень и >> "pipe to file" запускается как ваш пользователь.

tee это обычная команда, с которой вы можете запускать с правами root sudo который выводит как стандартный вывод и файл, так echo 'line' | sudo tee -a file будет делать то, что вы хотите. tee -a добавит файл вместо перезаписи.

Другие вопросы по тегам