0
使用参数和变量时,我有一个脚本错误SED在bash脚本
- 需要一个字符串作为参数
- 使用字符串找到一个TeX的文件
- 在for循环 - 使用SED使取代在并编译的TeX文件
- 换人包括改变的报头的名称(和连接),这也是输出文件一个唯一的名称编译后
的命令是否正常工作,当我活运行它们,但是执行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或前任何变通办法也可以为我工作
您的'for'语句需要'do'。正如在“我在{2,5,8,11}”中那样; do'。 – Jonesinator
糟糕!经典星期六晚上的语法错误。谢谢 –