/ / Jak mogę rozwiązać ten błąd w skryptach powłoki: "read: Illegal option -t"? - bash, shell, ubuntu

Jak mogę rozwiązać ten błąd w skryptach powłoki: "read: Illegal option -t"? - bash, shell, ubuntu

#!/bin/bash
echo -n "Hurry up and type something! > "
if read -t 10 response ; then
echo "Greate, you made it in time!"
else
echo "sorry, you are too slow!"
fi

Napisałem powyżej kod w terminalu i otrzymałem komunikat o błędzie "read: Illegal option -t".

Odpowiedzi:

3 dla odpowiedzi № 1

Obsługa Bash -t, więc wygląda na to, że próbujesz go wykonać sh lub jakąś inną powłokę, która jest dziwna, ponieważ masz prawidłowy shebang.

Upewnij się, że go uruchomisz ./script lub path_to_script/script. Jeśli po prostu uruchomisz go w terminalu, najpierw uruchom bash.


0 dla odpowiedzi nr 2

bash obsługuje -t opcja dla read wbudowany od wersji bash-2.04 (widzieć ChangeLog), więc albo używasz starożytnej wersji bash (<= 2.03) lub naprawdę nie działają pod swoim skryptem bash.

Biegać bash --version sprawdzić wersję i sprawdzić, czy twój shebang naprawdę wygląda #!/bin/bash w twoim skrypcie.