特に.bashrc
いくつかのエイリアスをカスタマイズしました。ll
export LS_OPTIONS='--color=auto'
残念ながらと一緒に使うとうまくいかなかったのでsudo
これも修正しましたが/root/.bashrc
あまり差がないようです。
sudo env
ディスプレイHOME=/root
とSHELL=/bin/bash
sudo
設定を使用してコマンドを取得するにはどうすればよいですか/root/.bashrc
?
私はbash
これがインタラクティブに実行されたときにのみ発生することを知っているので、それをカスタマイズする方法に関する別の提案で開いています。
ベストアンサー1
sudo
シェルコマンドの代わりに実行可能ファイルを実行します。したがって、エイリアスについては知りません。sudo ls
同様に実行すると、ユーザーが持つエイリアスはsudo /bin/ls
使用されません。ls
sudo ls
以下を に入れてエイリアスを拡張できます.bashrc
。
alias sudo='sudo '
末尾のスペースに注意してください。エイリアス拡張に次の単語を使用し続けるようにシェルに指示しますsudo
。 sudoの後にエイリアスを拡張することは、エイリアスの種類によっては常に良い考えではないかもしれません。
また、sudoは環境からほとんどの変数を削除します。alias ls='ls $LS_OPTIONS'
これはコマンドを拡張するときにシェルが使用するシェル変数なので、同じエイリアスには影響しません(エクスポートは.bashrc
効果がありません)。ただし、これはコマンドで使用される変数に影響します。たとえば、LS_COLORS
sudoの設定を編集して、特定の環境変数を維持するようにsudoを設定できます。実行しvisudo
、次の行を追加します。
Defaults env_keep += "LS_COLORS"
この設定では、sudo ll
おなじみの色が得られます。
またはsudo -s
。シェルは設定ファイル(~/.bashrc
bashの場合)をロードします。 sudoの設定方法に従ってHOME
ホームディレクトリに設定する/root
。を使用してホームディレクトリをrootに設定できますsudo -Hs
。代わりに元のホームディレクトリを保持するには、を実行しますsudo env HOME="$HOME" bash
。