以下の内容はhttps://tetsuyai.hatenablog.com/entry/20110731/1312127901より取得しました。


sudoしているのに、リダイレクトすると「許可がありません/Permission denied」になる

構成

CentOS release 5.6 (Final)
GNU bash version 3.2.25(1)-release (x86_64-redhat-linux-gnu)



問題

リダイレクトすると「許可がありません/Permission denied」と表示されます。これはlsのみがsudoされて、リダイレクトはログインユーザーで実行されたためです。

$ sudo ls > /etc/foo
-bash: /etc/foo: 許可がありません



解決方法

リダイレクトをteeに置き換えます。teeは標準入力から読んだ内容を標準出力とファイルに書き出すコマンドです。

$ ls | sudo tee /etc/foo
bin

元のリダイレクトと同じようにファイルにだけ書き出したいときは、標準出力を/dev/nullにリダイレクトします。

$ ls | sudo tee /etc/foo > /dev/null

>>のように追記したいときは、-aオプションを使います。

$ ls | sudo tee -a /etc/foo



以上の内容はhttps://tetsuyai.hatenablog.com/entry/20110731/1312127901より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14