Saat ini, judul terminal / tab bash saya diatur berdasarkan pada direktori tempat saya masuk. Misalnya:
bob@bobscomputer:~/i/had/some/great/pie/yesterday
Ini tidak terlalu berguna jika saya memiliki banyak tab yang terbuka berdampingan. Sebagai contoh, jika saya memiliki 4 tab dir di atas terbuka berdampingan, yang saya lihat adalah
bob@bobscomputer:~/i/had...
4 kali.
Saya ingin semua judul terminal saya diatur secara otomatis ke bagian terakhir dari jalur. Dalam contoh di atas, saya ingin judulnya
yesterday
Jelas, judul akan berubah ketika saya mengubah direktori. Saya ingin melakukan ini tanpa mengubah prompt saya, jadi prompt dan judul terminal harus berbeda.
Apakah ada cara untuk melakukan ini?
command-line
bash
titlebar
Menatap Katak
sumber
sumber
Jawaban:
Mengapa Anda ingin melakukannya tanpa memodifikasi variabel PS1 Anda? Itu cara yang benar untuk melakukannya.
Jika Anda menjalankan yang berikut ini, Anda akan mendapatkan yang Anda inginkan:
export PS1="\[\e]0;\W\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
Ini hanya mengambil prompt default:
export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
... dan ganti
\u@\h: \w
dengan\W
.Anda dapat melakukan hal yang sama dengan perintah apa pun yang menggemakan kode jalan keluar yang benar:
echo -en "\e]0;${PWD##*/}\a"
... tapi kemudian Anda akan terus berjuang untuk menghentikannya agar tidak menggunakan PS1 (cara terbaik).
sumber
Iya. Prepend:
\[\e]0;\W\a\]
ke PS1 Anda. Ini tidak akan mengubah tampilan prompt Anda, tetapi secara otomatis akan mengatur judul tab terminal Anda ke nama merek direktori kerja saat ini.sumber