Actualmente estoy aprendiendo los fundamentos de Linux con Ubuntu y hay una pequeña actividad en la que necesito encontrar información sobre variables de entorno. Ya encontré información 6/7 pero simplemente no puedo encontrarla SUDO_COMMAND
. así es como va la lista:
SHELL=/bin/bash
USER=student
SUDO_COMMAND=
PWD=/home
HOME=/home/student
LOGNAME=student
OLDPWD=/home/student
Noté que la información viene en orden y SUDO_COMMAND
está entre user y pwd. ¿cometí un error en alguna parte?
command-line
sudo
kyle cruz
fuente
fuente
Respuestas:
SUDO_COMMAND
es una variable de entorno establecidasudo
solo en el entorno del proceso iniciado por este (y heredado por cualquier proceso hijo). Si ejecutasudo some-command arg1 arg2
,SUDO_COMMAND
contendrá la ruta absoluta asome-command
, yarg1 arg2
. Si ejecutósudo -s
osudo -i
, entonces la variable se establecerá en el shell que se inició. En cualquier caso, probablemente no lo verá fuera de un árbol de procesos iniciado porsudo
.Por ejemplo:
O:
No sé qué comando está utilizando, pero no se puede confiar en la salida de
set
,declare
,env
oprintenv
estar en un cierto orden.fuente
sudo echo $SUDO_COMMAND
podría usarse para crear un bucle infinitivo ... :(El
SUDO_COMMAND
es una variable de entorno que se establece en el comando ejecutado por sudo .Como mencionó @muru, si
sudo
ejecuta un nuevo shell, esta variable de entorno se mostrará en este nuevo shellMás información
man sudo
proporciona los siguientes detalles:fuente
SUDO_COMMAND
solo existe en el entorno iniciado porsudo
, siSUDO_COMMAND
realmente donde/bin/ls
, entonces no obtendría un shell para ejecutarecho $SUDO_COMMAND
.