我在 TeX 中使用了一个非常简单的 makefile:
test-makefile:
echo '\newcommand{\seance}{seance1}' > seances/seance.tex
Run Code Online (Sandbox Code Playgroud)
我运行它:
$ make test-makefile
echo '\newcommand{\seance}{seance1}' > seances/seance.tex
Run Code Online (Sandbox Code Playgroud)
我的问题是在名为“seances”的文件夹中创建的文件不包含它应该包含的前两个字符:
?
ewcommand{\seance}{seance1}
Run Code Online (Sandbox Code Playgroud)
它的第一行是空的。
当然我可以保护第一个 antislash:echo '\\newcommand{\seance}{seance1}
等。但在现实世界中它不起作用:我真正的 makefile(我已经发布了一个 ECM)不起作用。
发生什么了?bash/debian 如何误解命令的开头?
顺便一提:
$ bash --version
GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu)
?
$ cat /etc/debian_version
buster/sid
?
$ uname -a
Linux giljourdan 4.16.0-1-amd64 #1 SMP Debian 4.16.5-1 (2018-04-29) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud) make ×1