sudo
特定のコマンドに対してのみ特定の環境変数を保持するように指定する方法はありますか?いくつかの目的のために、私の$HOME
環境が欲しいです。特定のコマンドを実行すると変数が保持されます。他の目的と他のコマンドのために、リセットしたいです。これはできます/etc/sudoers
か?
編集:
答えてくれてありがとう。「なぜ、これが機能しないのか」というフォローアップの質問をするのではないかと思います。
私が仕事を始めようとしている例では、私のsudo nano
を読みたいです$HOME/.nanorc
。これを使用する場合:
Defaults:simon env_keep=HOME
完璧に機能します。これを使用する場合:
Defaults!/bin/nano env_keep=HOME
またはこれ:
Cmnd_Alias NANO = /usr/bin/nano,/bin/nano,/bin/rnano
Defaults!NANO env_keep=HOME
まったく機能していません。理由について何か提案はありますか?(私はDebianテストを行っています、ところで。)
(注:私はそれがnano
具体的だとは思わない、ところで-私は単にecho
s である1行のbashスクリプトで動作を再現できます$HOME
)。
sudo
独自の関数でラップしているため、単にif [ "$1" == "$EDITOR" ]; then
ブロックを追加し、sudoedit
代わりに呼び出しています:)
sudoedit
代わりに、代わりに使用します。sudoedit
は、ファイルの内容をtmpファイルにコピーし、ユーザーが選択したエディターを実行します。エディターが終了すると、変更があったかどうかを確認し、変更された場合は元のファイルを編集したものに置き換えます。$EDITOR
または$ VISUAL`環境変数を設定して、実行するエディターを選択できます。