Я новичок в Linux и Bash и хотел бы попросить помочь понять роль одинарных и двойных кавычек при назначении переменной env для PS1. Я хотел, чтобы терминал всегда показывал текущий каталог. Сначала я попробовал это:
export PS1="\[\e[38;5;46m\]>\[\e[38;5;255m\]\[\e]0;$(pwd)\007\]"
Это привело к тому, что в обновленном заголовке терминала показывался текущий каталог, когда я нажимал Enter, но не в том случае, если впоследствии я перешел в другое место.
Через бесцельные методы проб и ошибок я в конце концов попытался:
export PS1='\[\e[38;5;46m\]>\[\e[38;5;255m\]\[\e]0;$(pwd)\007\]'
Вторая версия, использующая одинарные кавычки, дала желаемый эффект: заголовок терминала обновлялся каждый раз, когда я переходил в новый каталог.
Может кто-нибудь объяснить, почему использование одинарных и двойных кавычек отличается таким образом? Спасибо.
Я нашел это обсуждение: Как изменить заголовок окна Mintty? но ОП, похоже, не помечал ответ, и те ответы, которые я пробовал по этой ссылке, похоже, не оказали никакого влияния на мою оболочку.