#!/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 № 1Obsł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.