PROMPT_COMMAND+="hey.sh;"
PROMPT_COMMAND Если установлено, значение выполняется как команда перед выдачей каждого основного приглашения.
Примечание: переменные среды против переменных оболочки
По умолчанию, PROMPT_COMMAND
это не переменная окружения . Это просто переменная оболочки .
К обоим типам переменных обращаются одинаково ( "$variable*"
), но переменные среды наследуются дочерними процессами, а переменные оболочки - нет.
Соглашение состоит в том, чтобы использовать переменные окружения + переменные оболочки, которые настраивают вашу оболочку (PROMPT_COMMAND настраивает вашу оболочку), но оставляют другие типы переменных строчными.
В bash вы можете сделать: declare -p
узнать, экспортируется ли переменная (= является переменной среды) или нет:
$ declare -p PATH
declare -x PATH=... #-x means it's exported
$ declare PROMPT_COMMAND
declare -- PROMPT_COMMAND=... #no -x so just a shell variable