Quando você fornece um hífen duplo, a experiência que você terá é idêntica a se você tivesse acabado de executar sudo su
sem nenhum hífen.
Passar um único hífen é idêntico a passar -l
ou --login
. A man page para su
descreve o comportamento como:
Provide an environment similar to what the user would expect had the user logged in directly.
Isso inclui configurar seu diretório para seu diretório pessoal e configurar várias outras variáveis de ambiente.
Passar um hífen duplo para um comando é normalmente usado para marcar o fim dos sinalizadores de linha de comando e o início dos argumentos sem sinalizador. Por exemplo, se você executar touch -R
, receberá um erro dizendo que -R não é uma opção para touch
, mas se você executar touch -- -R
, criará um arquivo chamado -R
. Isso se aplica a muitas ferramentas de linha de comando ( ls -R
fará um ls
recursivo, enquanto ls -- -R
executará ls
em um arquivo ou diretório denominado -R
.
Então, para finalizar, quando você passa somente --
para su
, é basicamente ignorar --
e agir como se você não tivesse passado nenhuma opção.