シェル変換のエイリアスで新しい.bashrcを取得する方法は?

シェル変換のエイリアスで新しい.bashrcを取得する方法は?

sudo -sという実行エイリアスがあります。私のホームディレクトリからもルートセッションを取得したいssuです。.profile

他の答えは、これが解決策だと言うようです。

alias ssu='sudo -s && sudo -Hu root source /my_home/.profile'

ただし、sourcerootとして実行してもプロファイルは作成されません。私のものシェル。私に従ってコマンドを実行します。ログアウト私のルートセッション。

2つのコマンドを実行せずにsudo -s(ルートとして)連続的かつスムーズに実行する方法はありますか?source

答え1

sudo で実行されるセッション内のすべての変数は、呼び出し寿命内でスコープされます。エイリアスの内容は、sudo -sシェルを root で開始するコマンドです。そのシェルを終了すると、他のコマンドが実行されますsudo -Hu root source /my_home/.profile。あなたが思うように動作していても(間違いではありません)、今回は2番目に呼び出され、別のシェルセッションになります。

Bashのコマンドsourceは実行可能ファイルではなく組み込みコマンドなので、sudoはrootで起動できません。ただし、bashコマンドで実行できます。

たぶんあなたは最高のサービスを得るでしょう

sudo -H bash —rcfile /my_home/.profile

関連情報