Saat menggunakan terminal dalam struktur folder yang dalam, terkadang prompt dapat mengambil sebagian besar baris. Apakah ada cara di mana saya dapat memangkas direktori kerja? Saya tahu saya bisa melakukannya
PS1="\W >"
untuk hanya mencetak direktori saat ini dan bukan path lengkap, tetapi apakah ada cara untuk memiliki sesuatu seperti:
/home/smauel/de...ther/folder >
command-line
bash
prompt
smauel
sumber
sumber
~/.bashrc
? Apakah itu hanya akan menempelkan baris terakhir di bagian bawah file?Jika Anda menggunakan bash4 (Ubuntu 9.10 dan yang lebih baru memiliki bash4), opsi termudah adalah dengan hanya mengatur variabel PROMPT_DIRTRIM. misalnya:
Untuk yang mirip dengan contoh João Pinto, (yang akan bekerja di versi bash yang lebih lama dan memastikan bahwa komponen path tidak pernah lebih dari 30 karakter), Anda dapat melakukan sesuatu seperti ini:
sumber
Cara lain untuk mengatasi masalah tersebut adalah dengan memasukkan baris ke PS1, sehingga direktori kerja dan prompt aktual muncul pada baris yang terpisah, misalnya:
sumber
Tambahkan ini ke bagian bawah Anda
~/.bashrc
Memang ini mungkin bisa lebih bersih, tetapi saya ingin melakukannya.
Output yang diharapkan untuk direktori lebih dari tiga lapisan.
Output yang diharapkan untuk direktori dari Desktop dan kembali.
sumber
Tambahan kecil untuk jawaban yang sangat bagus @ joão-pinto ini menambahkan nama lingkungan virtual saat Anda menjalankan
workon
perintah.sumber
Berdasarkan jawaban Cris Sullivan , tetapi menyimpan
~
untuk folder rumahsumber
Saya paling suka yang ini,
PS1="[\W]\\$ "
sumber
prompt ini mempersingkat semua nama kecuali baris saat ini:
sumber
Untuk memperbarui sedikit (untuk Python3) dan tingkatkan jawaban yang dipilih untuk menambahkan warna ke prompt sesuai permintaan BASH (toh Linux Mint 18.3):
Lebih lanjut tentang kode warna di Terminal BASH di sini . Mungkin ada beberapa cara untuk mengetahui warna apa yang digunakan Terminal Anda secara otomatis, tetapi saya belum tahu apa itu.
Dengan garis shebang garis
export
untuk dimasukkan dalam .bashrc kemudian menjadi:NB1 kode "" e "escape ini harus selalu dimasukkan dalam" \ [... \] ", jika tidak, line-return akan benar-benar kacau.
NB2 untuk mendapatkan path lengkap Anda kapan saja pergi
tentu saja...
sumber