Existência da variável de ambiente USER no shell

0

Eu ouvi (embora eu não consiga encontrar nenhuma fonte de prova) que a variável de ambiente USER possa não estar configurada em shells Unix antigos (talvez até alguns shells obscuros também). Qual é a probabilidade de que isso não seja definido?

    
por Adam Flott 28.01.2010 / 23:14

2 respostas

2

A probabilidade é muito baixa.

se você quiser um substituto ao escrever um script:

USER=${USER:-'whoami'}

... será o padrão $ USER se não estiver definido.

Para os Bourne pré-POSIX realmente antigos, você deseja:

test -z "$USER" && USER='whoami'
    
por 29.01.2010 / 00:56
0

Bem, você está esperando usar algum shells antigo ou espera que os usuários do seu programa o façam?

De qualquer forma, sempre há id -un , embora eu não tenha idéia se isso é mais ou menos universal que $ USER. Você poderia ter seu script tentar ambos.

    
por 28.01.2010 / 23:48