【发布时间】:2016-08-16 01:30:54
【问题描述】:
我有一个 test.sh 文件,它通过文本文件 test.bed 进行操作:
1 31 431
1 14 1234
1 54 134
2 435 314
2 314 414
与
while read line;do
echo $line
# ... more code ... #
done < <(awk -F '\t' '$1 == 1 {print $0}' test.bed )
使用bash test.sh 运行它可以工作,但使用sh test.sh 会产生语法错误。我怎样才能使用sh 而不是bash 来完成上述操作?
它给出的错误是
test.sh: line 5: syntax error near unexpected token `<'
test.sh: line 5: `done < <(awk -F '\t' '$1 == 1 {print $0}' test.bed )'
【问题讨论】:
-
错误是什么?
-
@vidit test.sh:第 5 行:意外标记附近的语法错误
<' test.sh: line 5:done -
您使用的是哪个环境?我没有遇到过这种错误。能否请您粘贴完整的脚本?
-
<( ... )不是sh的有效语法(或bash兼容模式下的bash)。