Var среды _

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

_=/usr/bin/printenv

Я теперь делаю это:

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

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

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

Что дает? Почему эхо не рассматривает это как переменную? (т.е. как $PATH или $PWD)

3
задан 13 April 2013 в 03:10

1 ответ

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

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

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

0
ответ дан 13 April 2013 в 03:10

Другие вопросы по тегам:

Похожие вопросы: