список всех команд Linux, которые нельзя выбрать [закрыто]

Это невозможно (в запущенной оболочке).

Для печати значения переменной окружения вам нужна команда, либо используйте printenv:

$ printenv "LANG"
LANG=en_US.UTF-8

Которая сообщит значение переменной как экспортированное в окружение команды. Или вы используете echo (или printf, или print) значение переменной в текущей запущенной оболочке:

$ echo "$LANG"
LANG=en_US.UTF-8

В обоих случаях была выполнена команда, и значение переменной $_ будет установлено в последний аргумент выполненной команды (если была выполнена какая-либо команда).

$ ls
$ echo ".$_."
.--color=auto.
$ echo ".$_."
..--color=auto..
$ echo ".$_."
...--color=auto...

$ bash -c 'echo $_'
/bin/bash

$ bash -c 'ls -l >>/dev/null; echo $_'
-l

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

Некоторые оболочки не используют или устанавливают временный $_:

$ dash -c 'ls -l >/dev/null; echo ".$_."'
./bin/dash.

Но это только раскроет значение пути к dash. ..

0
06.12.2013, 01:34
0 ответов

Теги

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