我有一个简短的 bash 脚本来获取源代码的依赖文件。
#!/bin/sh
rule=$(cpp -P -w -undef -nostdinc -C -M file.cc)
rule=${rule##*:}
#echo $rule
echo ${rule//\\}
不幸的是,它输出./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
有谁知道为什么?
提前致谢。