Apakah mungkin untuk memanggil skrip dalam contoh ini dinamai hey.sh
setelah setiap perintah bash?
Misalnya Anda mengetikkan ls
tekan enter dan ls lari, maka hey.sh
akan lari.
Anda kemudian mengetik cd ..
(atau perintah lain) , cd menjalankan kemudian hey.sh
akan berjalan, dan seterusnya.
Jawaban:
Catatan: Variabel lingkungan vs variabel shell
Secara default,
PROMPT_COMMAND
adalah bukan sebuah variabel lingkungan . Itu hanya variabel shell .Kedua jenis variabel diakses dengan cara yang sama (
"$variable*"
), tetapi variabel lingkungan diwarisi oleh proses anak sedangkan variabel shell tidak.Konvensi ini adalah untuk mengkapitalisasi variabel lingkungan + variabel shell yang mengonfigurasi shell Anda (PROMPT_COMMAND memang mengonfigurasi shell Anda), tetapi tetap menggunakan jenis variabel yang huruf kecil.
Dalam bash , Anda dapat melakukan:
declare -p
untuk mengetahui apakah suatu variabel diekspor (= adalah variabel lingkungan) atau tidak:sumber
export
. Atur saja (atau tambahkan, misalnya, seperti yang ditunjukkan di atas).