Saya ingin menghapus tilde dari menampilkan dalam variabel PS1.
String PS1 saya saat ini:
PS1="\h:\w\n$"
Dan prompt terlihat seperti ini:
lnx-hladky:/tmp/plugtmp
$
Saya tidak suka direktori $ HOME ditampilkan sebagai tilde. Bisakah ini dihindari?
Ini menyebabkan masalah, misalnya:
lnx-hladky:~/DOC
$
Dokumentasi mengatakan:
\w : the current working directory, with $HOME abbreviated with a tilde
\W: the basename of the current working directory, with $HOME abbreviated with a tilde
Apakah ada kemungkinan untuk menghindari $ HOME disingkat dengan tilde?
Saya telah menemukan satu jalan keluar tetapi saya merasa ini terlalu rumit:
PROMPT_COMMAND='echo -ne "\e[4;35m$(date +%T)\e[24m$(whoami)@$(hostname):$(pwd)\e[m\n"'
PS1=$
Adakah yang bisa mengusulkan solusi yang lebih baik? Saya merasa tidak cukup baik menjalankan begitu banyak perintah hanya untuk mendapatkan prompt. (tanggal, whoami, nama host, pwd).
command-line
bash
unix
Jirka
sumber
sumber
Jawaban:
bash menjalankan ekspansi di prompt; pastikan untuk melarikan diri dari mereka.
sumber
pwd
pada setiap prompt. Solusi Dennis tidak, hanya mengambil PWD variabel lingkungan, yang jauh lebih murah.pwd
adalah bash builtin. Pernyataan yang${PWD}
"jauh lebih murah" daripada$(pwd)
tanpa bukti.Anda tidak perlu menjalankan banyak perintah seperti yang Anda tunjukkan dalam contoh Anda.
bash
menyediakan jalan pintas untuk sebagian besar hal yang Anda sebutkan.Contoh Anda:
dapat ditulis ulang sebagai:
Di mana
\t
menunjukkan waktu (dalam format 24 jam),\u
menunjukkan nama pengguna saat ini, '\ h' menunjukkan nama host -bash
halaman manual membahas ini dan sisa pelarian yang tersedia untuk prompt Anda.Bahkan jika Anda memperluas
~
ke jalur penuh, jika Anda tidak tahu pengguna mana yang menjalankan perintah dan Anda berpindah pengguna secara teratur, Anda dapat membuat masalah dengan izin file atau izin yang dapat dieksekusi.sumber
\u
sehingga saya tahu siapa saya. Jangan lupa untuk menerima jawaban Ignacio - klik kotak centang di sebelah kiri pertanyaan.Saya menggunakan pengaturan di bawah ini dalam file .bash_profile saya
sumber