13
我有一个变量final_list
这是由一个可变url
在一个循环中追加为:连接两个字符串变量在bash追加换行符
while read url; do
final_list="$final_list"$'\n'"$url"
done < file.txt
令我惊讶的\n
被追加为一个空间,所以结果是:
url1 url2 url3
,而我想:
url1
url2
url3
什么是错的?
谢谢。你能解释一下发生了什么。 –
引用在Unix shell中非常重要。如果没有引号,shell不会应用任何扩展规则并将新行视为空格。 – anubhava
如果没有引号,'$ final_list'扩展中的任何空格(包括换行符)将被视为字词分隔符,而不是字面字符进行打印。 'echo'只接收3个参数,即实际的URL。用引号,'echo'接收一个参数,即包含url的字符串和将它们分开的换行符。 – chepner