Окружение var _

Окружение var _

Я отправляю команду printenv в командной строке и вижу, что одна из переменных выглядит следующим образом:

_=/usr/bin/printenv

Теперь я делаю так:

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

но при попытке вызвать echo для этой переменной я получаю следующее:

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

Что дает? Почему echo не обрабатывает это как переменную? (например, как $PATH или $PWD)

решение1

Это переменная.переменная оболочки_обновляется оболочкой каждый раз, когда вы запускаете команду, чтобы содержать последний аргумент предыдущей команды.

Это нечасто бывает полезно, но позволяет вам написать псевдоним или функцию для выполнения чего-либо в «том же файле (или другом объекте), что и последняя команда».

Переменная также добавляется в среду подпроцессов. Там она содержит имя команды, переданное в оболочке (до PATHпоиска).

Связанный контент