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