|
Bash Read SpatieIn een bash-script wordt een eindloze loop gebruikt. Hoe kan je uit die loop springen door de spatiebalk in te drukken? Daarvoor gebruik je het read-command met de juiste opties. Probleem is dat dit commando de spatie ziet als een scheidingsteken, het wordt niet gezien als input. Dat doe je door de variabele IFS leeg te maken. Hier is een programmavoorbeeld: #!/bin/bash echo Druk een toets IFS="" # geen field seperator, zodat de spatie ook een normale toets is while true # begin een eindloze loop do read -s -n1 -t1 TOETS # wacht 1 sec tot 1 toets gedrukt [ "$TOETS" ] && break # test op geen NULL waarde echo Nog steeds geen toets gedrukt done echo Er werd een $TOETS gedrukt #eof# Zet dit in een bestand, zet het execute-bit aan en probeer het uit. |