Centos Linuxシステムのルートではなく、.bash_profileアカウントにsudo su以降のPS1を変更するためのスクリプトが設定されていますが、sudo suは実際に新しいセッションを作成するため、スクリプトは停止し、PS1は同じままです。私は.bash_profileがこれを変更するように言っていますが、ここには問題ありません。しかし、sudo suの後にコマンドを実行する方法はありますか(私の場合はPS1の変更)?スクリプトを.bashrcに入れてみましたが、これは同じです。
ベストアンサー1
私の考えでは、スタッキングは混乱をsudo
引き起こしますsu
。
関連ファイルの正しいPATHやその他の設定を設定するなど、ルートの正しい環境を作成する最も信頼性の高い方法は次のとおり/root/
です。sudo -i
マニュアルページをお読みください。man su
そしてman sudo
これは、PATHやその他のセッションや環境変数には微妙な部分が多く、基本的に、または特定のスイッチを介して変更または変更されない可能性があるためです。
su -
たとえば su
、sudoは/etc/sudoers
特定の環境変数を抑制するように設定されていることがよくあります。
このテーブル(そして記事全体)一見すると、似ているように見えるコマンドにはいくつかの違いがあります。
corrupted by user's
HOME=/root uses root's PATH env vars
sudo -i Y Y[2] N
sudo -s N Y[2] Y
sudo bash N Y[2] Y
sudo su Y N[1] Y
[1] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
probably set by /etc/environment
[2] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin