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?


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\$ '

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

1

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


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

1
Dalam kasus saya, PATH lengkap benar-benar besar sehingga saya telah menambahkan satu lagi bendera untuk baris berikutnya seperti PS1 = '\ w \ n \ $'
victor
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.