test.sh
我刚刚编写了一个名为(并使其可执行)的小 zsh 脚本,但执行后出现以下错误sh test.sh
:
重复:未找到命令
这是脚本:
#!/usr/bin/zsh
repeat 5 java test 0 | grep -E '\[DONE\] | \[FAILED\]'
如果我只repeat 5 java test 0 | grep -E '\[DONE\] | \[FAILED\]'
在终端中执行,它就可以正常工作。
附加信息:
我已经尝试过提到的解决方案这里但这一切都是徒劳的。
which zsh
返回/usr/bin/zsh
答案1
当您使用 运行脚本时sh test.sh
,您正在使用 运行它sh
,而不是zsh
。#!/usr/bin/zsh
当您显式调用另一个解释器时(这就是您正在使用的sh
),shebang 行 ( ) 将被忽略。
因此,要么使您的脚本可执行并使用 运行/path/to/test.sh
,要么使用zsh
并运行它zsh test.sh
。