2014-01-15 189 views
1

我的非工作的代碼示例(錯誤路線 - >空= $空\ n $的URL):如何通過換行符連接/連接兩個bash變量?

empty="" 
IFS=$'\n' 
for line in $s; do 
    if [[ $line =~ $regex ]]; then 
     url="${BASH_REMATCH[2]}${BASH_REMATCH[1]}" 
     echo $url 
     empty=$empty\n$url 
    else 
     echo "$s does not match" 
    fi 
done 

echo $empty|sort -f -t/ -k 4 

我嘗試通過對循環分裂經修改的線重建。

回答

2
empty="$empty"$'\n'"$url" 

$'\n'是在bash字面換行符(雙引號的變量引用並非絕對必要在這裏,而且有利於可讀性;備選:empty=${empty}$'\n'${url})。

printf替代解決方案:

printf -v empty '%s\n%s' "$empty" "$url" 
+1

另外'空+ = $ '\ n' 「$網址」 ' –

0

字符串文本可以內嵌換行符:

entry="$entry 
$url" 

entry+=" 
$url"