Как я могу изменить мой bash, чтобы показать мой рабочий каталог?

33

Я могу напечатать мой текущий рабочий каталог, как это

myPrompt$ pwd
/Users/me/myDir

Я хочу, чтобы моя оболочка выглядела так

/Users/me/myDir$ pwd
/Users/me/myDir

Это возможно? Как я могу это сделать?

bernie2436
источник
В OS X имя файла .bash_profile, а не просто .profile. Это будет автозагрузка для вас.
Не совсем. OSX начинается логин оболочки по умолчанию , и это означает , что Баш выглядит для ~/.bash_profile, ~/.bash_loginи ~/.profile, в таком порядке, а также читает и выполняет команду из первого, который существует и читаемые. В любом случае, это действительно комментарий, а не ответ, поэтому я конвертирую его в один.
Тердон

Ответы:

39

Вы можете использовать escape-последовательности в переменных приглашения .

Поместите это в свой ~/.bashrc:

PS1='\w\$ '
Жиль "ТАК - прекрати быть злым"
источник
2
Спасибо. Я сделал это изменение. Теперь я вижу: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ .... Я хочу показать только часть с надписью "tmp" для моего приглашения. Как мне спрятать остальное? Я хочу, чтобы скрыть части "abramhandler" и "Abram's-MacBook-Air-3"
bernie2436
7
@ akh2103 использовать \Wвместо \w. Смотрите ссылку, которую Жиль дал вам (краткое) объяснение кодов побега.
Тердон
@terdon Я вижу то же самое с \ W и \ w. Я использую Unix на OSX.
bernie2436
2
@ akh2103, если вы работаете с OSX и используете приложение терминала, вы должны внести изменения в ~ / .profile, а не .bashrc, так как терминал по умолчанию запускает оболочку входа в систему. Вы также должны найти ~ / .profile или открыть новый терминал, чтобы изменения вступили в силу. Кроме того, пожалуйста, отредактируйте, чтобы добавить больше информации, я не могу понять, что вы просите из вашего последнего комментария.
Тердон
@terdon, когда я запускаю source ~ / .profile, он корректно меняет путь в текущем терминале. Но когда я открываю новый терминал, я все еще вижу «эфир книги Абрама» и т. Д. Я попытался добавить исходные файлы ~ / .profile в файлы .profile и .bashrc, но все равно не повезло. Любые идеи?
bernie2436
4

Вот одна строка для OSX. Он добавляет приглашение, которое вы хотите, в файл профиля, а затем перезагружает профиль.

echo "PS1='\w\$ '" >> ~/.bash_profile; source ~/.bash_profile

На El Capitan вы захотите использовать

echo "PS1='\w\$ '" >> ~/.profile; source ~/.profile
Комплект
источник
1

По какой-то причине '\w\$'у меня не получилось, но вместо этого я export PS1="$(pwd) \$"сработал, и это сработало.

Дэвид
источник
4
Это не будет работать слишком хорошо, когда вы меняете каталоги ...
Стивен Китт
0

Выглядит как старый поток, но описанные ниже шаги работали для меня на OS X 10.9.5

  • положить PS1='\w\$ 'в~/.profile
  • если вы внесли какие-либо изменения в ~/.bashrcих удаление
  • закройте терминал с помощью cmd+q
  • вновь открыть терминал
Виктор
источник
1
В моем случае полный PATH действительно большой, поэтому я добавил еще один флаг для следующей строки, например PS1 = '\ w \ n \ $'
victor