私は次の行に沿って何かをしたい:
echo "Append string" >> protected_file
ただし、このファイルは書き込み保護されているため、エラーが発生します。ランニング:
sudo echo "Append string" >> protected_file
echo コマンドで sudo を実行しているようですが、まだ許可エラーが表示されます。このファイルに追加するにはどうすればよいですか?
echo "Append string" | sudo tee -a protected_file >/dev/null
文字通りの答えについては、
sudo sh -c 'echo "Append string" >> protected_file'
しかし、私は原則としてシヴァンラプターに同意します。
説明:>>
シェル演算子です。を呼び出す場合sudo command
、別のシェルは実行されません。echo
したがって、リダイレクトせずにリダイレクトすることはできませんsudo
(最終的に、リダイレクトを実行すると間違ったユーザー ID が返されます)。sudo
秘訣は、リダイレクト演算子を発行できる内で別のシェルを起動することです。
またはこれを試してください:
echo "echo 'append string' >> protected_file" | sudo bash