mac sudoでリダイレクト(「>」)を実行可能にする

  • 作成日 2022.12.28
  • mac
mac sudoでリダイレクト(「>」)を実行可能にする

macのターミナル上で、sudoでリダイレクト(「>」)を実行可能にする手順を記述してます。権限のないものに実行すると 「permission denied」が発生するのでこれを回避するにはオプション「sh -c」を使用します。

環境

  • OS macOS Monterey
  • SHELL /bin/zsh

手順

sudo実行時にリダイレクト(大なり記号「>」)を実行可能するには、「sudo」コマンドの「sh -c」を使用します。

実際に、「sudo」コマンドで、リダイレクト(大なり記号「>」)を使用すると「許可がありません」となります。

% sudo echo test > test.html

zsh: permission denied: test.html

実行できるようにするには、「sh -c」を使用して、コマンドを「””」で囲みます。
※「sudo」コマンド必要なディレクトリで実行してください。

% sudo sh -c "echo test > test.html"

作成されていることが確認できます。

% cat test.html

test