2011-11-06 14 views

Odpowiedz

7

Brak wejścia (lub nawet przestrzenie wierzę) get wprowadzone jako pustych strun, więc sprawdź wejście natomiast zmienna wejściowa jest pusta:

input= 
while [[ $input = "" ]]; do 
    read input 
done 
+2

Ma to (niewielkie) problemy nie obsługuje^D jako końca wejścia, więc zapętruje się na zawsze, jeśli czyta z '/ dev/null'. To można załatwić, jeśli napiszesz to jako 'while read input && [-z" $ input "]; robić :; done'. – Idelic

+0

Pętla utknie, jeśli nie ma danych wejściowych. – davide

0
unset input 
while [ -z ${input} ]; do 
    read input 
done 
Powiązane problemy