Почему действительно экспортирует-p, исключают $ _ переменная?

Смотрите на эту статью, которая сравнивает различные системы управления пакета.

Статья сравнивает следующие системы:

4
05.03.2014, 21:47
3 ответа
[12130]$_[1123466] не является переменной окружения в [1123467]bash[1123468], [1123469]bash[1123470] только кажется, что она экспортируется в окружение дочернего процесса. Внутри самого bash это, кажется, обычная переменная оболочки. Обратите внимание, однако, что это не тот случай, когда выполняется первая команда:[12131]После этого она появляется как обычная переменная:[12132]Не так в [1123471]dash[1123472]:[12133]Хотя здесь она, кажется, только выполняет свою роль в интерактивном режиме:[12134]
4
27.01.2020, 20:52
[1122948] Из [1123443] help export[1123444]:

Это означает, что [1123445]$_[1123446] просто не экспортируется. Это также имеет смысл, так как [1123447]$_[1123448] является последним аргументом предыдущей команды [1123449], экспорт в отдельную оболочку был бы не очень полезен, так как он всегда будет автоматически сбрасываться в зависимости от последнего выполнения команды.

chmod +w ~/.bash
Вы можете подтвердить, что команды, которые вы пытались перечислить только экспортированные переменные:

http://blog.stackexchange.com/index.php?feed=podcast
Чтобы увидеть полный список (экспортированных или не экспортированных) установленных в данный момент переменных, используйте [1123451]set[1123452] без аргументов. Однако это также приведёт к списку функций, поэтому вам нужно будет отфильтровать их:

0
27.01.2020, 20:52

export -p не показывает $ _ по той простой причине, что команда показывает только те переменные, которые помечены для экспорта, и $ _ (являющийся специальным параметром, а не переменной - да, документация bash делает это различие) не помечается оболочкой для экспорта. Хотя вы можете назначить _ , bash будет перезаписывать его значение после каждой команды. bash , похоже, также предотвращает или, по крайней мере, отменяет любую попытку явно экспортировать _ .

2
27.01.2020, 20:52

Теги

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