Sto cercando di eseguire una funzione più complessa che costruisce la stringa PROMPT in ZSH e, in circostanze normali, funziona. Tuttavia, poiché ho il seguente TRAPINT per stampare "^ C" quando invio SIGINT al prompt, non funziona (non chiama la mia funzione).
.zshrc
TRAPINT() {
print -n "^C"
return $(( 128 + $1 ))
}
my_prompt_function() {
echo '>'
}
setopt PROMPT_SUBST
PROMPT='$(my_prompt_function)'
Tuttavia, se premo ^Cal prompt, si blocca semplicemente:
>
>^C
# ...hangs here until I press <Enter>
Come faccio a sapere, all'interno di TRAPINT, che sono al prompt, rispetto a un programma in esecuzione, in modo da non poter restituire un errore?