这是我的代码。我只想复制一些文件并替换Makefile中的一行。参数$1只是我的新.tex文件的名称。
#!/bin/bash
pwd="./"
tex=".tex"
pwd=$1$tex
cp ~/TeX/matt.sty .
cp ~/TeX/mon.tex $pwd
cp ~/TeX/Makefile .
sed="sed 's/mon.tex/"$1$tex"/g' Makefile > Makefile"
$sed
我遇到了以下错误:sed: 1: "'s/mon.tex/salut.tex/g'": invalid command code '
PS:我在Mac OS X上使用sed(它是BSD sed)。
sed 's/mon.tex/"$1$tex"/g' Makefile > Makefile
吗?有什么特别的原因吗?这将直接运行你的命令,无需创建一个字符串并对其进行评估。 - Spencer Rathbun