BASH mendukung $PROMPT_COMMAND
variabel lingkungan yang mendefinisikan perintah yang akan dieksekusi sebelum prompt interaktif tingkat pertama. Saya mencari kesetaraan ZSH itu.
Dokumentasi mengatakan bahwa ada fungsi yang precmd
bisa saya definisikan untuk mencapai itu; Namun, saya tidak tahu bagaimana cara mendefinisikannya dari variabel lingkungan.
Saya telah mempertimbangkan untuk mengirimkan variabel lingkungan yang akan membuat ZSH membaca file yang berisi definisi fungsi itu, tetapi ZSH tampaknya tidak mendukung hal-hal seperti itu : ia hanya membaca file global dan kemudian file per-pengguna. Saya bisa menggantinya tetapi saya tidak bisa menambahkannya tanpa memodifikasi file, yang tidak bisa saya lakukan.
Jadi, bagaimana saya mendefinisikan kait pre-prompt di ZSH melalui variabel lingkungan, seperti yang saya lakukan menggunakan $PROMPT_COMMAND
di BASH?
exit
dan exec
, ok ;)
)
start() { eval "$@"; echo post-command-code }
dan kemudian gunakan zle-binding untuk mengeksekusi baris perintah dengan start
prepended?
DEBUG
perangkap adalah nice menemukan, tetapi Anda masih memiliki masalah bagaimana mendefinisikannya. Saya telah memperpanjang jawaban saya sekali lagi, tetapi saya menyerahkan kepada Anda untuk menuliskan jawaban Anda sendiri mengenai solusi perangkap DEBUG. :)