RHELマシンで作業しているときは、 sudosu-を使用します。 ルートに切り替えます。ある日、タイプミスは私が sudosu-と入力したことを意味しました 代わりに–コマンドを発行する前と同じフォルダーにいたことを除いて、すべてが単一のハイフンの場合と同じであるように見えます(単一のハイフンを使用すると、 / rootにいることになります。 。
他に違いはありますか?同じディレクトリで作業したいことがわかっているシナリオでこれを使用しても安全ですか?
承認された回答:
ダブルハイフンを指定すると、 sudo suを実行したばかりの場合と同じように表示されます。 ハイフンなし。
単一のハイフンを渡すことは、 -lを渡すことと同じです。 または--login 。 suのマニュアルページ 動作を次のように説明します:
ユーザーが直接ログインした場合にユーザーが期待するのと同様の環境を提供します。
これには、ディレクトリをホームディレクトリに設定することや、他の多くの環境変数を設定することが含まれます。
コマンドにダブルハイフンを渡すことは、通常、コマンドラインフラグの終わりとフラグ以外の引数の始まりを示すために使用されます。たとえば、 touch -Rを実行した場合 -Rはtouchのオプションではないというエラーが表示されます 、ただし、 touch --- Rを実行した場合 -Rという名前のファイルが作成されます 。これは多くのコマンドラインツールに当てはまります( ls -R 再帰的なlsを実行します 一方、 ls --- R lsを実行します -Rという名前のファイルまたはディレクトリ 。
したがって、これをまとめると、のみを渡すときに -コード> suへ 基本的に-を無視しています そして、あなたがオプションをまったく渡さなかったように振る舞います。