Zsh: "shift count must be <= $#" 中的移位失败



我有一个bash脚本,其中包含shift命令。

在bash环境下可以正常运行,但是在zsh环境下,shift命令似乎不一样。

<标题>zsh h1> bash
$ shift
# OK here

shift命令与zshbash不兼容?如何使脚本在zsh中运行?

shift的参数大于位置参数(即$#)的数量时,两个shell都认为它是错误的。

由于没有参数的shift实际上与shift 1相同,当没有位置形参时,它会导致错误并返回非零退出值。

唯一的区别是zsh当发生这种情况时打印一条错误消息,并且bash没有。<标题>bash
$ set --
$ shift
$ echo $?
1
<标题>zsh h1> /html>

相关内容

  • 没有找到相关文章

最新更新