bash: отображение абсолютного пути с символическими ссылками, разрешенными в приглашении
Можно ли в моей оболочке отображать полный текущий рабочий каталог, даже когда я cd
в символическую ссылку? Мой текущий PS1
читает
PS1="
[ \w ]
=> "
Однако, когда я перехожу в связанный каталог, он отображает (например) [ ~/LINKEDDIR ]
вместо чего-то более полезного для меня, такого как [ /var/etc/bin/the/actual/path ]
,
Есть ли способ изменить это?
1 ответ
Решение
Вместо использования \w
escape-последовательность, вам придется вызвать pwd
утилита напрямую и использовать ее -P
возможность полностью развернуть любые символические ссылки. Должно работать следующее (обратите внимание на одинарные кавычки, так что подстановка команды выполняется каждый раз, когда отображается приглашение, а не один раз, когда PS1
определено).
PS1='\n[ $(pwd -P) ]\n=> '