我有这个代码。但我总是得到一个错误line 34: [24: command not found
。
它应该在 do while 循环执行 24 次后立即执行 if 语句中的代码。
#!/bin/bash
input="./user.cvs"
latexStart="\\documentclass[12pt]{article}\\usepackage{labels}\\usepackage{graphicx}\\usepackage{array}\\begin{document}\\graphicspath{{./QRcodes/}}\\newcolumntype{C}{>{\\centering\\arraybackslash} m{27mm} }"
latexEnd="\\end{document}"
latexBeginLabels="\\begin{labels}"
latexEndLabels="\\end{labels}"
counter=0
touch newLabels.txt
echo "$latexStart" >> newLabels.txt
echo "$latexBeginLabels" >> newLabels.txt
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"
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"
if ["${counter:-0}" -gt 21] ;
then
counter=0
echo "$latexEndLabels" >> newLabels.txt
echo "\\newpage" >> newLabels.txt
echo "$latexBeginLabels" >> newLabels.txt
fi
echo "\\begin{tabular}{ C C } \\includegraphics[height=30mm]{name.png} & Name Man \\\\ \\end{tabular}" >> newLabels.txt
let counter=counter+1
done < "$input"
echo "$latexEndLabels" >> newLabels.txt
echo "$latexEnd" >> newLabels.txt
错误在第 34 行,if ["${counter:-0}" -gt 21] ;
. 我从bash 中的比较整数中得到了这个例子,预计一元运算符
我做错了什么?