GNU/Linux >> Linux の 問題 >  >> Linux

sudoとしてファイルに追加する方法は?

tee -a を使用 (または tee --append ) sudo

tee - read from standard input and write to standard output and files
[...]
   -a, --append
      append to the given FILEs, do not overwrite
[...]

したがって、コマンドは

echo "something" | sudo tee -a /etc/config_file

tee の利点 管理者権限で Bash を過剰に実行することは

  • 管理者権限で Bash を実行していない
  • 「ファイルへの書き込み」部分のみが高度な権限で実行されます
  • 複雑なコマンドの引用ははるかに簡単です

リダイレクトは現在のシェルで実行されます。昇格された権限でリダイレクトを行うには、昇格された権限でシェル自体を実行する必要があります:

sudo bash -c "somecommand >> somefile"

sudo にサブシェルを生成させる:

sudo sh -c "echo 'JAVA_HOME=/usr/lib/jvm/java-6-sun' >> /etc/profile"

この例では、sudo は残りを引数として「sh」を実行します。

(これは、sudo の man ページに例として示されています)


Linux
  1. Linuxでファイルの終わりにテキストを簡単に追加する方法

  2. ファイルに複数の行を追加するにはどうすればよいですか?

  3. 特定のユーザーにパスワードなしのSudoを設定する方法

  1. 出力をファイルと標準出力にリダイレクトする方法

  2. ファイル内で \n を grep する方法

  3. 解凍せずに圧縮ファイルに行を追加する方法は?

  1. Linuxでファイルの終わりにテキストを追加する方法

  2. シェルスクリプトでバッファにデータを追加する方法は?

  3. sudo を使用してファイルが存在するかどうかを確認するにはどうすればよいですか?