スクリプトからファイルを変更しようとしています。ファイルをbob
ユーザーとしてsudoeditすることができます。
sudoedit -u bob /foo/bar.conf
しかし、ボブとして他のことをする権利はありません。
私は http://shadow-file.blogspot.com.au/2009/01/how-to-sudoedit-non-interactively.html に出くわしました。これはうまくいくかもしれませんが、複雑に思えます。
私が見逃しているこれを行うための簡単な方法はありますか?
(不思議に思うかもしれませんが、非常に制限された権限を持つRHELホストにインストールするSplunk Universal Forwarderのinputs.confファイルを編集しようとしています)
ed
(および この例 )の使用に関する上記のヒントに基づいて、私は次のことを思いつきました
ED="/bin/ed"
CONTENT_TO_APPEND="Yay, config!"
##### Set editor #####
OLD_EDITOR=$EDITOR
export EDITOR=$ED;
##### Append using ed #####
echo "a
$CONTENT_TO_APPEND
.
w
q" | sudoedit -u bob /foo/bar.conf
##### Clean up #####
export EDITOR=$OLD_EDITOR