模糊重定向错误bash

时间:2017-08-09 19:19:51

标签: bash

还有关于这个问题的其他帖子,但没有人回答我的问题。其他帖子提到添加引号,但这会导致EOF而匹配错误。 我正在编写一个包含以下行的bash脚本,但是当我执行时,我收到一条错误消息,其中显示“不明确的重定向”。为什么呢?

done < $(cat $textfile1 $textfile2) >> $outputfile

1 个答案:

答案 0 :(得分:0)

最低限度,您需要更多报价。

# PROBABLY NOT WHAT YOU WANT:
# Read from an input file whose name is generated by concatenating the contents of the
# files named in textfile1 and textfile2 variables
done < "$(cat -- "$textfile1" "$textfile2")" >>"$outputfile"

假设您要从包含textfile1textfile2连接的流中读取(而不是从名称中包含这些内容的文件中读取),这应该是:

# PRESUMABLY CORRECT:
# Read from a stream with the contents of textfile1 and then textfile2
done < <(cat -- "$textfile1" "$textfile2") >>"$outputfile"