![zsh:重复:执行 zsh 脚本时未找到命令](https://linux22.com/image/184690/zsh%EF%BC%9A%E9%87%8D%E5%A4%8D%EF%BC%9A%E6%89%A7%E8%A1%8C%20zsh%20%E8%84%9A%E6%9C%AC%E6%97%B6%E6%9C%AA%E6%89%BE%E5%88%B0%E5%91%BD%E4%BB%A4.png)
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
。