cat<(echo'hello')可以运行,但无法在shell脚本模式下运行

时间:2017-10-11 14:15:10

标签: bash shell

如果我在[root @ hostname]#中运行cat <(echo 'hello'),它会正确显示

但是,如果我把上面的内容改为下面的脚本test.sh:

#!/bin/sh
cat <(echo 'hello')

并运行sh -x test.sh,它会在错误下面回复我:

./test.sh: line 3: syntax error near unexpected token `('
./test.sh: line 3: `cat <(echo 'hello')'

原因问这是因为我遵循这个thread(绿色答案一),它会提示相同的错误。

1 个答案:

答案 0 :(得分:1)

看起来您在脚本中使用了特定于Bash的语法,因此您应该将shebang行更改为:

#!/bin/bash

如果你想像你一样调用程序,你应该运行:

bash -x test.sh