我刚刚编写了一个名为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
发布于 2020-12-10 10:58:27
当您使用sh test.sh运行脚本时,您使用的是sh而不是zsh。当您显式地调用另一个解释器(这就是您使用#!/usr/bin/zsh时所做的)时,会忽略shebang行( sh)。
因此,要么让脚本可执行并使用/path/to/test.sh运行,要么使用zsh并使用zsh test.sh运行它。
https://unix.stackexchange.com/questions/623796
复制相似问题