Какую подсказку использует sh при вводе sh в Терминал?

При использовании приглашения PS1 по умолчанию, с которым поставляется MAC OS/Terminal, при вводе sh вы получаете приглашение нового стиля.

station-4:~ user$ sh
sh-3.2$ 

Когда вы экспортируете свой собственный PS1, эта функциональность исчезает. Вы вводите sh, и вы все равно получаете подсказку PS1, которую вы указали. Почему это?

station-4:~ user$ export PS1=">>>"
>>>sh
>>>

1 ответ

Решение

"Экспорт" является ключевым словом. У меня нет Mac сам, но я думаю, что его bashrc файл не экспортируется $PS1просто устанавливает его так, чтобы bash Сам видит переменную, но не толкает ее в среду новых процессов. (bash - оболочка по умолчанию, используемая OS X.)

Ты можешь использовать printenv PS1, env | grep ^PS1 или же declare -p PS1 выяснить, является ли переменная частью среды. (Ты увидишь declare -x если переменная экспортируется, declare -- иначе.)

Другие вопросы по тегам