[bash] ヒアドキュメントの内容をsudo権限で書き込む。

スクリプトを作っていて、sudo権限をつけないと編集できないファイルに対して追記する必要があった。
複数行の内容だったのでヒアドキュメントでやろうと思ったら、catコマンドでは実現できなかった。

そこでいろいろ調べていたら、teeコマンドだと実現できるとの記事を見つけた。
以下のようにすれば、sudo権限が必要なファイルにヒアドキュメントの内容を書き込むことができる。

# 上書き
sudo tee /path/to/file <<EOF
some text
EOF

# 追記
sudo tee -a /path/to/file <<EOF
some text
EOF

参考

【 tee 】コマンド――標準出力とファイルの両方に出力する:Linux基本コマンドTips(65) – @IT
sudoとヒアドキュメントでファイルを作成する小技

シェアする

  • このエントリーをはてなブックマークに追加

フォローする