我有一个简短的bash脚本来获取源代码的依赖文件.
#!/bin/sh
rule=$(cpp -P -w -undef -nostdinc -C -M file.cc)
rule=${rule##*:}
#echo $rule
echo ${rule//\\}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它输出./findDep.sh: 5: ./findDep.sh: Bad substitution
.但如果我取消注释echo $rule
,脚本将执行没有任何问题:
lib.h macro.inc fundamental.h lib/fs.h lib/net.h \ lib/net/fetch.h
lib.h macro.inc fundamental.h lib/fs.h lib/net.h lib/net/fetch.h
Run Code Online (Sandbox Code Playgroud)
谁知道为什么?
提前致谢.