Tôi đang tìm kiếm điều kiện để tránh người dùng để trống giá trị đầu vào. Bất kỳ đề xuất?Làm thế nào để kiểm tra không có đầu vào trong bash đọc?
Cảm ơn
Tôi đang tìm kiếm điều kiện để tránh người dùng để trống giá trị đầu vào. Bất kỳ đề xuất?Làm thế nào để kiểm tra không có đầu vào trong bash đọc?
Cảm ơn
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
unset input
while [ -z ${input} ]; do
read input
done
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
Vòng lặp sẽ bị kẹt nếu không có đầu vào. – davide