【问题标题】:Append contents of one file into another将一个文件的内容附加到另一个文件中
【发布时间】:2012-04-30 10:42:42
【问题描述】:
> for filename in '*.sql'
> do
> echo "@some_string" >> $filename
> done
-bash: $filename: ambiguous redirect

当我尝试将一个常量附加到所有文件时,我得到一个错误的模糊重定向。

知道如何解决这个问题吗?

【问题讨论】:

  • 而且*.sql 周围的那些引号似乎有点奇怪。
  • 将 cat 改为 echo 我得到相同的结果
  • Hi Mat point on i 删除了 *.sql 周围的引号,它起作用了

标签: bash


【解决方案1】:

试试:

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

【讨论】:

    【解决方案2】:

    我会使用

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

    你的代码有问题

    cat "@some_string"
    

    因为cat 需要一个文件名。

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

    【讨论】:

    • *.sql 周围的引号也是错误的。你还需要$filename周围的引号
    猜你喜欢
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2020-11-01
    • 2013-11-09
    • 2019-08-15
    • 2014-01-03
    • 2018-12-06
    相关资源
    最近更新 更多