Всегда ли установлены надежные переменные среды? - PullRequest
2 голосов
/ 30 ноября 2010

Всегда ли установлены надежные переменные среды?

Ответы [ 2 ]

3 голосов
/ 30 ноября 2010

В Bash следующие переменные доступны только для чтения и всегда должны быть доступны в оболочке:

BASH_VERSINFO
EUID
SHELLOPTS
SHLVL
UID

Они даже будут установлены в скриптах Bash, которые выполняются:

env - scriptname

, поскольку Bash устанавливает их при запуске сценария, а не из родительской среды.

Эта переменная доступна только для чтения, но по умолчанию она не установлена. Вы можете установить его, выполнив совпадение с регулярным выражением.

BASH_REMATCH

Если вы хотите, чтобы оно равнялось "foo", просто сделайте:

[[ foo =~ .* ]]
2 голосов
/ 30 ноября 2010

Нет.Можно запустить программу с пустым окружением:

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