Ambiente var _

Ambiente var _

Envio um comando printenv na linha de comando e vejo que uma das variáveis ​​é a seguinte:

_=/usr/bin/printenv

Agora eu faço isso:

mo@mo-Toshiba ~/Workspace $ printenv _
/usr/bin/printenv

mas ao tentar chamar echo nesta variável recebo o seguinte:

mo@mo-Toshiba ~/Workspace $ echo $_
_

O que da? Por que echo não trata isso como uma variável? (ou seja, como $PATH ou $PWD)

Responder1

É uma variável. Ovariável de shell_é atualizado pelo shell cada vez que você executa um comando para conter o último argumento do comando anterior.

Não é útil com muita frequência, mas permite escrever um alias ou função para executar algo “no mesmo arquivo (ou outro objeto) do último comando”.

A variável também é adicionada ao ambiente de subprocessos. Lá, ele contém o nome do comando passado no shell (antes PATHda pesquisa).

informação relacionada