Envío un comando printenv en la línea de comando y veo que una de las variables es la siguiente:
_=/usr/bin/printenv
Ahora hago esto:
mo@mo-Toshiba ~/Workspace $ printenv _
/usr/bin/printenv
pero al intentar llamar a echo en esta variable me sale lo siguiente:
mo@mo-Toshiba ~/Workspace $ echo $_
_
¿Lo que da? ¿Por qué echo no trata esto como una variable? (es decir, como $PATH o $PWD)
Respuesta1
Es una variable. Elvariable de shell_
El shell lo actualiza cada vez que ejecuta un comando para contener el último argumento del comando anterior.
No es útil muy a menudo, pero te permite escribir un alias o función para realizar algo en "el mismo archivo (u otro objeto) que el último comando".
La variable también se agrega al entorno de subprocesos. Allí, contiene el nombre del comando pasado en el shell (antes de PATH
la búsqueda).