我有一个变量final_list
,它在循环中附加了变量url
:
while read url; do
final_list="$final_list"$'\n'"$url"
done < file.txt
令我惊讶的是,\n
被附加为空格,因此结果为:
url1 url2 url3
虽然我想要:
url1
url2
url3
有什么问题?
答案 0 :(得分:21)
变量"$final_list"
中有很多新行。 echo
它喜欢带有双引号的 :
echo "$final_list"
url1
url2
url3
或者更好地使用printf
:
printf "%s\n" "$final_list"
url1
url2
url3
答案 1 :(得分:2)
这可能取决于您如何尝试显示最终结果。尝试在双引号内输出结果变量:
echo "$final_list"