2012-04-30 64 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你是對的 –