~からBashでスクリプトを生成し、sudoが必要な場所に保存します。私の好きな方法は次のとおりです。
sudo tee "$OUTFILE" > /dev/null <<'EOF'
foo
bar
EOF
しかし、このメソッドを使用して既存のファイル$ OUTFILEに追加したいと思います。上記の方法は、既存のファイル$ OUTFILEを上書きします。
答え1
上書きするのではなく接続するオプションが必要です-a
。tee
答え2
を使用する場合は、まず出力用のコンテナに渡してcat
次のパスに移動します。$OUTFILE
$ OUTFILE=/path/to/restricted_write_access/file
$ sudo out=$OUTFILE sh -c 'cat << EOF >> $out
foo
bar
EOF'
答え3
tee では、/dev/null のストリームを開く必要があります。簡単な方法でこれを行うことができます。cat
cat <<EOF >> $OUTFILE
foo
bar
EOF
キーボードを保存!