2012-04-30 62 views
1
> for filename in '*.sql' 
> do 
> echo "@some_string" >> $filename 
> done 
-bash: $filename: ambiguous redirect 

追加内容到另一个

任何想法如何解决这个问题?

+0

变化'cat'到'echo'。 – yazu

+1

那些引用'* .sql'的引号看起来有点奇怪。 – Mat

+0

改变猫回声我得到了相同的结果 –

回答

3

尝试:

for filename in *.sql 
do 
echo "@some_string" >> "$filename" 
done 
1

我会使用

#!/bin/bash 
for filename in *.sql 
do 
echo "@some_string" >> "$filename" 
done 

的问题与您的代码是

cat "@some_string" 

因为cat期望一个文件名。

正如@ c00kiemon5ter所述,您还应引用$filename,因为它可能包含空格。

+0

也引号'* .sql'周围是错误的。而且你还需要引用'$ filename'# – c00kiemon5ter

+0

@ c00kiemon5ter你是对的 –