dieses Thema finden Sie, wie Sie den Tastendruck aufzeichnen: bash scripting - read single keystroke including special keys enter and space
Allerdings müssen Sie auch Notwendigkeit verwenden, um echo die Optionen für die gleichen Zeilen, anstatt neue Zeilen schreiben: How to show and update echo on same line
In diesem Fall würde Ihr Skript so etwas wie aussehen:
#!/bin/bash
SELECT=""
while [[ "$SELECT" != $'\x0a' && "$SELECT" != $'\x20' ]]; do
echo "Press <Space> to move selection"
echo "Press <Enter> to confirm selection"
read -d'' -s -n1
echo "Debug/$SELECT/${#SELECT}"
[[ "$SELECT" == $'\x0a' ]] && echo "enter" # do your install stuff
[[ "$SELECT" == $'\x20' ]] && echo "space" && echo -ne "$options" # reprint options
done
Edit: Eigentlich printf
wäre wahrscheinlich in diesem Fall besser.
Es funktioniert nicht sehr gut mit mir, ich kann nicht sehen, die "Enter", wenn ich Enter drücken und ich kann nicht sehen, die "Raum", wenn ich Raum drücken, alles, was ich sehen kann, ist Debug // 0 – alexandre