我有一个
的脚本当我正在运行它们时,命令正常工作,但是执行shell脚本会给我以下错误
./batchscript: line 12: syntax error near unexpected token `sed'
./batchscript: line 12: ` sed -i "s|--jobname .*MPa|--jobname ${filename}${i}MPa|g" $CURRENTFILE".tex"'
脚本在
下面DIR=`pwd`
filename=$1
CURRENTFILE=$DIR/$filename
for i in {2,5,8,11}
sed -i "s|--jobname .*MPa|--jobname ${filename}${i}MPa|g" $CURRENTFILE".tex"
sed -i "s|pgfplotstableread{.*MPa.dat}|pgfplotstableread{${i}MPa.dat}|g" $CURRENTFILE".tex"
arara $CURRENTFILE".tex"
done
我尝试了几种语法变体。我也环顾四周,读到它可能需要做一些负责将变量传递给sed的shell,它可能不起作用。
使用awk或ex的任何变通方法也适用于我
答案 0 :(得分:2)
您的for
语句需要do
。与for i in {2,5,8,11}; do
中一样。