Estou tendo um problema no momento em que não entendo o que está acontecendo, já que sou muito novo no Linux.
Existe um script que estou tentando executar (que não postarei como não tenho permissão) que precisa ser executado como usuário root, mas quando eu o executo, ele diz que ele não tem a variável de ambiente necessária e precisa ser definido. Mas o script deve fazer isso.
Nós instalamos em duas caixas, uma funciona bem e a outra não.
Quando nós executamos este comando na caixa de trabalho:
su - user -l -c env 2>/dev/null | grep 'ENVVARIABLE=' | awk -F= '{print $2}'
Retorna o caminho correto.
Se eu correr na outra caixa, não traz nada. No entanto, se eu alternar o -l e -l em volta, ele retornará o caminho correto.
Alguém pode me apontar na direção certa sobre o que está errado aqui? Eu não tenho permissão para apenas atualizar tudo na caixa para ver se isso corrige o problema, infelizmente. Mas se eu puder reduzir isso ajudaria muito, já que no momento não tenho nenhuma pista.
Se você precisar de mais informações, então espero que eu possa fornecer (Embora isso possa ter que ser na próxima semana).
Nota: No script real, o -l não está lá:
if ["$ eu"="raiz"]; então,
ENVVARIABLE = 'su - $ user -c env 2 > / dev / null | grep 'ENVVARIABLE =' | awk -F = '{print $ 2}'
fi
Editar 1: O mesmo shell (bash) é usado para os usuários nas duas caixas