Saya memiliki prompt berikut dalam bash yang menunjukkan cabang git saat ini:
PS1+="$(git_prompt)" #git_prompt is a function in my .bashrc
yang bekerja ketika saya sumber. Bashrc, tetapi tidak ketika saya mengubah cabang, sehingga PS1 var hanya dievaluasi ketika saya sumber. Bashrc, tetapi harus dievaluasi setiap kali prompt baru ditampilkan. Bagaimana ini bisa dilakukan dengan bash 4.3?
bash: command substitution: line 1: syntax error near unexpected token
) 'bash: substitusi perintah: baris 1:git_prompt)'
oldPS1="$PS1"
) dan kemudian coba:PS1='$(git_prompt) '
Saya memperbaikinya sekarang dengan menggunakan ini sebagai prompt
sebelum saya menggabungkan beberapa string ke satu string PS1, sepertinya ada masalah. Triknya adalah menulis
\
sebelum mengecualikan perintah$(git_prompt)
.Jadi
$(git_prompt)
akan dievaluasi ketika.bashrc
dievaluasi dan\$(git_prompt)
akan dievaluasi setiap kali prompt baru ditampilkansumber
"
sekitar string. Menggunakan\$(git_prompt)
tanpa itu tidak akan berhasil.coba kutipan tunggal di ps1 Anda
saya juga menyarankan fungsi psOne saya
sumber
Ingin melihat kegilaan? Ini adalah cara saya membangun bash prompt saya:
Saya bukan penggemar warna.
sumber