我试图去当前目录和所有子direcotires,并添加一些注释到,在.SQL暧昧重定向
继承人结束代码
HEADER="--SQL HEADER"
for f in 'find . -name *.sql';
do
echo $f
echo -e $HEADER > $f.tmp;
FNAME=${f//\//_/};
echo -e "\n\n--MORE ANNOTATIONS ${FNAME%.*}:1" >> $f.tmp;
cat $f >> $f.tmp;
mv $f.tmp $f;
rm $f.tmp
done;
IM A的片段每个文件初学者在打击,所以我觉得有些错误的即时得到可能是由于与环 查找声明,但这是错误我得到
find . -name X.sql A.sql W.sql E.sql S.sql
./annotate.sh: line 6: $f.tmp: ambiguous redirect
./annotate.sh: line 8: $f.tmp: ambiguous redirect
./annotate.sh: line 9: $f.tmp: ambiguous redirect
mv: invalid option -- n
Try `mv --help' for more information.
rm: invalid option -- n
Try `rm --help' for more information.
任何帮助将不胜赞赏=)
+1,避免混淆(并允许嵌套作为奖金),这是更好地使用'$(命令)'的形式,而不是反引号变种'\'命令\ ''。 – 2012-04-19 19:28:19
不好...不要推荐使用'for'和反引号来迭代文件(正如所指出的,使用'$()')。不会-1,因为你确实指出了最直接的问题。 – ormaaj 2012-04-19 21:40:29
正确,谢谢你指出这一点。我只是回答这个问题,而不是试图教导如何编写shell脚本。 – theglauber 2012-04-19 21:46:29