在bash附加换行符中连接两个字符串变量

时间:2013-08-30 14:54:53

标签: linux bash shell

我有一个变量final_list,它在循环中附加了变量url

while read url; do
    final_list="$final_list"$'\n'"$url"
done < file.txt

令我惊讶的是,\n被附加为空格,因此结果为:

url1 url2 url3

虽然我想要:

url1
url2
url3

有什么问题?

2 个答案:

答案 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"