
RHELシステムで作業しているときにsudo su -
rootに切り替えることがよくあります。ある日、誤字でタイピングをしましたsudo su --
。コマンドを実行する前に同じフォルダにあったことを除いて、すべてが1つのハイフンに見えました(ハイフン内にあることがわかりました/root
)。
他に違いがありますか?同じディレクトリで作業したいときに使用しても安全ですか?
答え1
二重ハイフンを提供すると、sudo su
ハイフンなしで実行したばかりの経験と同じ経験が得られます。
単一のハイフンを渡すことは、-l
またはを渡すのと同じです--login
。マニュアルページでは、su
この動作について説明します。
ユーザーが直接ログインするときに期待するのと同様の環境を提供します。
これには、ディレクトリをホームに設定し、他の環境変数を設定することが含まれます。
コマンドに二重ハイフンを渡すことは、通常、コマンドラインフラグの終わりとフラグではなく引数の始まりを示すために使用されます。たとえば、実行するとtouch -R
-Rはオプションではないというエラーが出るでしょうが、touch
実行すると。touch -- -R
-R
ls -R
ls
ls -- -R
ls
-R
要約すると、合格するとただ --
デフォルトでは、オプションが渡されていないかのように su
無視して行動します。--