我想运行这个脚本:#!/bin/bashecho <(true) 我以如下方式运行它:sh file.sh 我得到了 \'语法错误:\'(\' 意外\' 。我发现了一些类似的情况,但仍然无法解决这个问题。我是一个初学者……
我想运行这个脚本:
#!/bin/bash
echo <(true)
我这样运行它:
sh file.sh
我得到了 \' Syntax error: "(" unexpected
\' 。我发现了一些类似的情况,但仍然无法解决这个问题。我是 shell 脚本的初学者,但据我了解:
echo $0
,它返回的是 \' bash
\' ,那么在命令行中运行命令和从调用相同 shell 的脚本中运行命令有什么区别?
也许这很简单,但我找不到解释或解决方案。
您应该使用 来运行脚本 bash
,即 bash ./script.sh
在将其设置为可执行文件后 ./script.sh
使用 shebang by 或 sh ./script.sh
正如 Cyrus 所评论的那样,只有使用 来运行它时,我才会收到错误。
另请参阅: unix.SE 上的 shebang 的作用