Ich habe ein Skript, das sich schlecht benimmt, und ich bin ratlos, warum.Bash: Einlesen in while-Schleife
#!/bin/bash
while read -r;do
read -rsn1 inp
if ["$inp" = "a"]; then
echo "$REPLY"
fi
done
Das gibt:
./some.sh: line 4: [a: command not found
Das Ziel dieses Skript ist eine Linie von der Lese am Anfang der while-Schleife zurückzukehren, wenn eine beliebige Taste einmal gedrückt wird. Offensichtlich tut es das momentan nicht. Ich verstehe die Fehler, die ich in meiner if
-Anweisung gemacht habe, und suche Hilfe bei der Annahme eines einzelnen Benutzer-Tastendrucks und dann echo
in einer Zeile von "$REPLY"
. Jede Hilfe wird geschätzt.
Seit wann nicht whitespace zwischen einem Befehl und seinem ersten Argument? –
Ich arbeite daran für Code Golf, so dass es ein wenig verrückt aussieht. – torchhound
Code Golf oder nicht, Sie können nicht einfach Syntax erfinden ... Colons sind keine Sache in 'bash', und Sie können nicht einfach whitespace weglassen, weil es unbequem ist. – Amadan