Bagaimana cara saya mengubah bash prompt untuk menampilkan direktori kerja saya?

33

Saya dapat mencetak direktori kerja saya saat ini seperti ini

myPrompt$ pwd
/Users/me/myDir

Saya ingin shell saya terlihat seperti ini

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

Apakah itu mungkin? Bagaimana saya bisa melakukannya?

bernie2436
sumber
Pada OS X nama file tersebut adalah .bash_profile bukan hanya .profile. Itu akan memuat otomatis untuk Anda.
Tidak terlalu. OSX dimulai masuk kerang secara default dan itu berarti bahwa bash penampilan untuk ~/.bash_profile, ~/.bash_logindan ~/.profile, agar, dan membaca dan mengeksekusi perintah dari yang pertama yang ada dan dapat dibaca. Bagaimanapun, ini benar-benar komentar dan bukan jawaban jadi saya mengubahnya menjadi satu.
terdon

Jawaban:

39

Anda dapat menggunakan urutan pelarian dalam variabel prompt .

Letakkan ini di ~/.bashrc:

PS1='\w\$ '
Gilles 'SANGAT berhenti menjadi jahat'
sumber
2
Terima kasih. Saya membuat perubahan itu. Sekarang saya melihat: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Pengguna / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ .... Saya hanya ingin menampilkan bagian yang mengatakan "tmp" untuk prompt saya. Bagaimana saya menyembunyikan sisanya? Saya ingin menyembunyikan bagian "abramhandler" dan "Abram's-MacBook-Air-3"
bernie2436
7
@ akh2103 gunakan \Wbukan \w. Lihat tautan yang diberikan Gilles untuk penjelasan singkat tentang kode pelarian.
terdon
@terdon Saya melihat hal yang sama dengan \ W dan \ w. Saya menjalankan Unix di OSX.
bernie2436
2
@ akh2103 jika Anda menjalankan OSX dan menggunakan aplikasi terminal, Anda harus membuat perubahan ke ~ / .profile bukan .bashrc karena terminal menjalankan shell login secara default. Anda juga harus mencari ~ / .profile atau membuka terminal baru agar perubahan diterapkan. Juga, harap edit untuk menambahkan informasi lebih lanjut, saya tidak dapat memahami apa yang Anda minta dari komentar terakhir Anda.
terdon
@terdon ketika saya menjalankan source ~ / .profile itu mengubah jalur dengan benar di terminal saat ini. Tetapi ketika saya membuka terminal baru maka saya masih melihat "abram's mac book air" dll. Saya mencoba menambahkan source ~ / .profile ke file .profile dan .bashrc tetapi tidak berhasil. Ada ide?
bernie2436
4

Ini adalah satu-liner untuk OSX. Ini menambahkan prompt yang Anda inginkan ke file profil dan kemudian memuat kembali profil.

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

Pada El Capitan Anda ingin menggunakannya

echo "PS1='\w\$ '" >> ~/.profile; source ~/.profile
Kit
sumber
1

Untuk beberapa alasan '\w\$'tidak bekerja untuk saya tetapi sebaliknya saya lakukan: export PS1="$(pwd) \$"dan itu berhasil.

David
sumber
4
Itu tidak akan bekerja dengan baik ketika Anda mengubah direktori ...
Stephen Kitt
0

Sepertinya utas lama tetapi langkah-langkah di bawah ini berhasil untuk saya di OS X 10.9.5

  • menempatkan PS1='\w\$ 'di~/.profile
  • jika Anda membuat perubahan dalam ~/.bashrcmenghapusnya
  • tutup terminal dengan cmd+q
  • buka kembali terminal
pemenang
sumber
1
Dalam kasus saya, PATH lengkap benar-benar besar sehingga saya telah menambahkan satu lagi bendera untuk baris berikutnya seperti PS1 = '\ w \ n \ $'
victor