A variável shell USERNAME
é especial no shell Z.
É sempre o nome da conta do ID do usuário do processo do shell.
Você não observará o comportamento observado nas conchas de Almquist, Watanabe, Korn ou Bourne Again. Essa variável é apenas uma variável de shell comum, que começa não definida, no que diz respeito a eles. Aqui está o shell Korn 93, por exemplo:
$ echo $USERNAME $ USERNAME=wibble $ echo $USERNAME wibble $
No shell Z, ele é iniciado como o nome da conta do UID do processo do shell. Uma tentativa de configurá-lo tentará alterar esse UID. Isso obviamente falha se você não é o superusuário e deixa a variável como antes.
Se você tivesse executado o shell Z como superusuário, no entanto, teria visto a variável USERNAME
shell e o ID do usuário do processo do shell alterado.
root # echo $USERNAME root root # USERNAME=JdeBP JdeBP %
Leitura adicional
- Paul Falstad et al. (2015-12-02). " Parâmetros definidos pelo Shell ". Manual do Z Shell . 5.2