【发布时间】:2020-10-20 07:15:10
【问题描述】:
我正在创建一个脚本,我将 awk 命令的输出重定向到一个循环中,但它给了我这个错误:
sh: -c: line 3: syntax error near unexpected token `<'
sh: -c: line 3: `done < <(awk "{print}" inputfile.txt)'
我能够在不同的远程主机上运行它,但是这个主机给了我一个错误。有谁知道某些版本的 sh/bash 是否不支持该语法,或者知道该语法的任何替代方案,或者可能发现了我无法看到的错误? (我是 bash 脚本的新手,所以即使是正确的方向也会有所帮助!)
这是我能够重现该问题的脚本的精简版本:
#!/usr/bin/env bash
host=$1
ssh $host 'while read line
do
echo "hi";
done < <(awk "{print}" inputfile.txt)'
【问题讨论】:
-
您是否使用
sh scriptname运行脚本? -
我正在使用
bash scriptname运行它,尽管使用 bash 或 sh 运行它时出现错误 -
@Kaitlyn :从错误消息中,您可以看到产生错误消息的不是 bash,因为使用 bash,消息将是 bash : bla bla.,而不是 sh : ....