Всегда ли переменная окружения PWD определяется в Linux? - PullRequest
1 голос
/ 16 марта 2019

Вопрос: Всегда ли переменная среды PWD определяется в Linux независимо от командной оболочки (без учета командных оболочек)? Другими словами, будет ли всегда выполняться команда типа "ls $ PWD"?

Ответы [ 2 ]

2 голосов
/ 16 марта 2019

Совместимые с Posix оболочки установят эту переменную среды.Ищите PWD в http://pubs.opengroup.org/onlinepubs/009604599/utilities/cd.html

PWD Эта переменная должна быть установлена, как указано в ОПИСАНИИ.Если приложение устанавливает или отменяет значение PWD, поведение cd не определено.

или раздел 2.5.3 «Переменные оболочки» в http://pubs.opengroup.org/onlinepubs/009604599/utilities/xcu_chap02.html

Переменныедолжен быть инициализирован из среды ... Если переменная инициализируется из среды, она должна быть помечена для экспорта немедленно

PWD Устанавливается оболочкой как абсолютный путь к текущему рабочему каталогу,

1 голос
/ 16 марта 2019

Всегда ли переменная среды PWD определяется в Linux независимо от командной оболочки?

Нет, и я не понимаю, почему это может иметь место, потому что *Переменная 1006 * автоматически обновляется (при инициализации оболочки и) после использования команды cd, которая является в точности встроенной оболочкой .

Соответствующую документацию о PWD можно найти, например, в:

Ниже приведен пример сеанса Bash, иллюстрирующий связь между PWD и cd:

/$ echo "$SHELL"
/bin/bash
/$ echo "$PWD"
/
/$ cd usr/bin/
/usr/bin$ echo "$PWD"
/usr/bin

Другими словами, будет ли всегда выполняться команда типа ls $PWD?

На самом деле синтаксис $PWD соответствует расширению параметра оболочки , поэтому ls $PWD не может быть правильно оценен без оболочки.

Замечание в годssing: настоятельно рекомендуется заключить в кавычки переменные оболочки, записав таким образом ls "$PWD" в этом случае, чтобы избежать проблем, если переменная содержит пробелы или другие специальные символы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...