Tôi có một biến final_list
được nối bởi một biến url
trong một vòng lặp như:Kết nối hai biến chuỗi trong bash phụ newline
while read url; do
final_list="$final_list"$'\n'"$url"
done < file.txt
Trước sự ngạc nhiên của tôi \n
được nối như một không gian, vì vậy kết quả là :
url1 url2 url3
trong khi tôi muốn:
url1
url2
url3
Có gì sai?
Cảm ơn bạn. Bạn có thể giải thích một chút về những gì đang xảy ra không. –
Trích dẫn là vô cùng quan trọng trong vỏ Unix. Không có dấu ngoặc kép, không áp dụng bất kỳ quy tắc mở rộng nào và xử lý các dòng mới là dấu cách. – anubhava
Không có dấu ngoặc kép, bất kỳ khoảng trắng nào (bao gồm cả dòng mới) trong phần mở rộng của '$ final_list' được coi là dấu tách từ, chứ không phải ký tự chữ để in. 'echo' chỉ nhận được 3 đối số, các URL thực. Với dấu ngoặc kép, 'echo' nhận một đối số duy nhất, chuỗi chứa url và các dòng mới tách riêng chúng. – chepner