Ich versuche, eine komplexere Funktion auszuführen, die den PROMPT-String in ZSH erstellt, und unter normalen Umständen funktioniert es. Da ich jedoch den folgenden TRAPINT habe, um "^ C" zu drucken, wenn ich SIGINT an der Eingabeaufforderung sende, funktioniert es nicht (es ruft meine Funktion nicht auf).
.zshrc
TRAPINT() {
print -n "^C"
return $(( 128 + $1 ))
}
my_prompt_function() {
echo '>'
}
setopt PROMPT_SUBST
PROMPT='$(my_prompt_function)'
Wenn ich jedoch drücke ^ C an der Eingabeaufforderung hängt es nur:
>
>^C
# ...hangs here until I press <Enter>
Wie kann ich in TRAPINT feststellen, dass ich an der Eingabeaufforderung im Vergleich zu einem laufenden Programm bin, sodass ich keinen Fehler zurückgeben kann?