Bash脚本进程replace语法错误:“(”unexpected“

我想运行这个脚本:

#!/bin/bash echo <(true) 

我得到了“ Syntax error: "(" unexpected ”。我发现了一些类似的情况,但仍然不能解决这个问题。我是shell脚本的初学者,但据我所知:

  1. 我使用的shebang是正确的,selectbash shell,所以过程replace语法应该工作
  2. 我尝试从命令行相同,它的工作原理。 我使用echo $0进行了检查,它给了我“ bash ”,那么在命令行中运行命令和调用同一个shell的脚本有什么不同呢?

也许这是简单的,但我找不到解释或解决scheme。

Solutions Collecting From Web of "Bash脚本进程replace语法错误:“(”unexpected“"

你应该用bash运行你的脚本,也就是bash ./script.sh或者在将它设置为可执行文件之后,通过./script.sh使用shebang。 只有使用sh ./script.sh才能运行它,如Cyrus所述,是否会出现错误?

另见: shebang在unix.SE上的角色