質問は
これら2つのコマンドの実行の違いは正確には何ですか.
ルートとして、カスタム環境を作成しました。変数
export A="abcdef"
次にルートシェルで
sudo -i
echo $A
戻り値
abcdef (as expected)
ただし、通常のユーザーに戻って実行すると
sudo -i echo $A
空白行を返します。
コマンド sudo echo $A を実行すると、環境変数と通常のユーザーのシェルが使用されますか?
sudo echo $A を実行しても abcdef を取得する方法はありますか?
ありがとう
編集1
変数 A をルートとして作成したと言うとき、ルートの .profile などでこれを行ったことを意味すると思います。--> (はい!)
編集2
これは完全に理にかなっていますが、いくつか問題があります。
私がする時
sudo -i 'echo $A'
-bash
: echo $A: command not found が表示されます。
しかし、私がするとき
su -c 'echo $A'
それは返す
abcdef
何が問題なのですか
sudo -i 'echo $A'
指図?