シェルとsuコマンド

シェルとsuコマンド

誰か、私が発行する理由を説明してもらえますか:

su
エコー $0

それはこう言います:

バッシュ

いつ

su -
エコー $0

それはこう言います:

-す

? 1 番目のケース (単にsu) では現在のシェルが新しい非対話型シェルを生成し、2 番目のケース ( su -) では現在のシェルがそのまま残るというのは正しいですか?

答え1

を使用する場合、su実行中のユーザーの環境を継承するだけですsu。対照的に、 (オプションsu -のショートカット)を使用すると、ルートアカウントに「完全に」切り替えられ、ルートに直接ログインした場合と同じように環境が設定されます。-loginsu

答え2

Alex の回答は正しいですが、何を見ているのかはよく説明されていません。実行すると、su -切り替え先のユーザー (この場合は root) の環境がインポートされます。root として最後に実行したコマンドは だったはずですsu

関連情報