Ich bin völlig neu im Bash-Scripting. Ich frage mich, ob es eine Möglichkeit gibt, dass ich eine Referenz für den folgenden Codeblock zu erstellen:Neu im Bash-Scripting - ich möchte, dass ein Codeblock viele Male über Referenz ausgeführt wird
read -t5 -n1 -r -p 'Press any key or wait five seconds...' key
if [ "$?" -eq "0" ]; then
echo 'A key was pressed.'
else
echo 'Five seconds passed. Continuing...'
fi
Gibt es eine Weise, die ich diesem Codeblock einen Bezugspunkt geben kann, und führen sie den Verweis mehrmals während der Verwendung Rest des Skripts?
Wäre es einfacher/besser, ein separates Skript mit diesem speziellen Code zu erstellen und dann im Rest des Skripts, das ich mit include schreibe, darauf zu verweisen? z.B. Bash: How _best_ to include other scripts?
Danke!
Suchen Sie eine Funktion? 'foo() {cmds; } ' –
Sie können auch den Exit-Status-Test vereinfachen (beachten Sie, dass' ['ist eigentlich ein Befehl und' if' testet seinen Exit-Code): 'if read -t5 ...; dann echo Taste gedrückt; sonst Echo Timeout; fi'. – randomir
Tangential, beachten Sie, dass der eigentliche Zweck von "if" darin besteht, einen Befehl auszuführen und seinen Beendigungscode zu untersuchen. Mit anderen Worten, cmd; wenn ["$?" = "0"]; dann ... 'ist idiomatisch und elegant geschrieben' if cmd; dann ... ' – tripleee