Atualmente, estou aprendendo os fundamentos do Linux com o Ubuntu e há uma pequena atividade em que preciso encontrar informações sobre variáveis de ambiente. Eu já encontrei informações 6/7, mas simplesmente não consigo encontrar SUDO_COMMAND
. é assim que a lista vai:
SHELL=/bin/bash
USER=student
SUDO_COMMAND=
PWD=/home
HOME=/home/student
LOGNAME=student
OLDPWD=/home/student
Percebi que as informações estão em ordem e SUDO_COMMAND
estão entre o usuário e a senha. eu cometi um erro em algum lugar?
command-line
sudo
kyle cruz
fonte
fonte
Respostas:
SUDO_COMMAND
é uma variável de ambiente definidasudo
apenas no ambiente do processo iniciado por ela (e herdado por qualquer processo filho). Se você executarsudo some-command arg1 arg2
,SUDO_COMMAND
conterá o caminho absoluto parasome-command
, earg1 arg2
. Se você executousudo -s
ousudo -i
, a variável será configurada para o shell que foi iniciado. De qualquer forma, você provavelmente não o verá fora de uma árvore de processos iniciada porsudo
.Por exemplo:
Ou:
Eu não sei qual comando você está usando, mas você não pode contar com a saída de
set
,declare
,env
ouprintenv
seja, de alguma forma.fonte
sudo echo $SUDO_COMMAND
poderia ser usado para criar um loop infinitivo ... :(A
SUDO_COMMAND
é uma variável de ambiente que Set ao comando executado pelo sudo .Conforme mencionado por @muru - se
sudo
executar um novo shell - essa variável de ambiente será mostrada neste novo shellMais informações
man sudo
fornece os seguintes detalhes:fonte
SUDO_COMMAND
só existe no ambiente iniciado porsudo
, seSUDO_COMMAND
realmente onde/bin/ls
, então você não conseguiria executar um shellecho $SUDO_COMMAND
.