2011-11-06 21 views

Trả lời

7

Không đầu vào (hoặc thậm chí không gian Tôi tin) được nhập như chuỗi rỗng, vì vậy kiểm tra đầu vào trong khi var đầu vào là rỗng:

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

này có (nhỏ) vấn đề không xử lý^D làm đầu vào, vì vậy nó sẽ lặp mãi mãi nếu nó đọc từ '/ dev/null'. Điều đó có thể được xử lý nếu bạn viết nó như là 'while read input && [-z" $ input "]; làm:; done'. – Idelic

+0

Vòng lặp sẽ bị kẹt nếu không có đầu vào. – davide

0
unset input 
while [ -z ${input} ]; do 
    read input 
done 
Các vấn đề liên quan