建一个字符串

Pas*_*cal 9 bash ubuntu

我有这个代码:

#!/bin/bash

input="./user.cvs"

while IFS=';' read -r f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13
do

  path="./QRcodes/$f2$f3.png"

  vcard="BEGIN:VCARD%0AN;CHARSET=utf-8:$f3;$f2;;$f1;%0AADR;CHARSET=utf-8;INTL;PARCEL;WORK:;;$f10;$f11;;$f12;$f13%0AEMAIL;INTERNET:$f6%0AORG:$f4%0ATEL;WORK:$f8%0ATEL;FAX;WORK:$f9%0ATITLE:$f5%0AURL;WORK:$f7%0AEND:VCARD"

  latex=""

  encodedVCard=$(echo "$vcard" | sed -e 's/\+/\%2B/g')

  url="http://api.qrserver.com/v1/create-qr-code/?size=300x300&data=$encodedVCard"

  wget -O "$path" "$url"

  latex+="\n \\begin{tabular}{ C C } \\includegraphics[height=30mm]{graphic.png} & Name \\\\ \\end{tabular}"

  echo $latex

done < "$input"
Run Code Online (Sandbox Code Playgroud)

一切正常,除了'echo $ latex'总是打印相同的行而不是多次.我错过了什么?

Bri*_*new 16

如果你想追加到一个字符串,只是

latex="$latex newstring"
Run Code Online (Sandbox Code Playgroud)

要么

latex=${latex}newstring
Run Code Online (Sandbox Code Playgroud)

你必须小心的bash不解释上述的新变种如"$a4"将被解释为一个变量a4而不是$a与4追加.