Làm cách nào để đọc từ biến với while read line
?Làm cách nào để "đọc" biến trên một vòng lặp while
Ví dụ:
the_list=$(..code..)
while read line
do
echo $line
done < $the_list
bằng cách sử dụng mã trên mang lại cho tôi lỗi:
./copy.sh: line 25: $the_list: ambiguous redirect
Liệu 'IFS =' có đặt IFS thành ký tự rỗng không? Tại sao bạn cần nó trong trường hợp này? – doubleDown
@doubleDown: 'IFS =' đặt '$ IFS' thành chuỗi rỗng (vì vậy nó không chứa bất kỳ ký tự nào). Trong trường hợp này, vì chỉ có một trường, hiệu ứng duy nhất của nó là ngăn chặn việc loại bỏ các ký tự IFS hàng đầu từ đầu dòng. (Để xem ý tôi là gì, hãy so sánh 'read foo <<< 'bar'; echo" $ foo "' với 'IFS = đọc foo <<< 'bar'; echo" $ foo "'.) – ruakh