zsh:重复:执行 zsh 脚本时未找到命令

zsh:重复:执行 zsh 脚本时未找到命令

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

相关内容