Edited at

su, su -, su -- の違い

More than 1 year has passed since last update.


su

ユーザーを切り替える

環境変数のほとんどは変わらず切り替え前のユーザーのものになる


su -

ユーザーを切り替える

環境変数のほとんどがリセットされ、切り替えたユーザーの環境に存在したものになる


su --

suと同じ

--は「これ以降コマンドラインにオプションが登場しない」ことを示すもの

例として-fという名前のファイルを作りたいとする(どんな場面だ)


--なしでやると

$ touch -f

# usage:
# touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...

-fはオプションとして認識される


--ありでやると

$ touch -- -f

$ ls
# -f

こんな感じで-fと言う名前のファイルが作成される


参考

https://unix.stackexchange.com/questions/7013/why-do-we-use-su-and-not-just-su/7021#7021