質問: hostsファイルに行を追加し、sudoを使用するとアクセス権が拒否される-mac 端末で1行のコマンドを実行して、macのhostsファイルに行を追加しようとしています。これはsudoを使用すると簡単だと思いましたが、>>をホストファイルに追加しようとすると「許可が拒否されました」を返しますが、>のホストの内容を置き換えようとすると機能します。sudo echo test >> /etc/hosts -bash: /etc/hosts: permission denied $ sudo echo test > /etc/hosts password: $ osは最新です。
回答: 例ではエコーが実行されているため、rootではなく現在のユーザーとして実行されるリダイレクトを介してエコーを実行するのではなく、 tee as steve buzonas suggests を使用します。 echo 'test' | sudo tee -a /etc/hosts sudoがteeコマンドに適用されました。 '-a'はファイルに追加しますこれにより、ティーも標準出力に出力されます。端末に「test」を表示したくない場合は、次の行も追加してください:> /dev/nullをその行の最後に追加します。