gpt4 book ai didi

bash - Zsh : "shift count must be <= $#" 中的 Shift 失败

转载 作者:行者123 更新时间:2023-12-01 23:15:56 28 4
gpt4 key购买 nike

我有一个包含 shift 命令的 bash 脚本。

它在 bash 中运行正常,但在 zsh 环境中,shift 命令似乎不同。

zsh

$ shift
shift: shift count must be <= $#

庆典

$ shift

# OK here

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

最佳答案

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

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

唯一的区别是 zsh 会在发生这种情况时打印一条错误消息,而 bash 不会。

庆典

$ set --
$ shift
$ echo $?
1

zsh

$ set --
$ shift
shift: shift count must be <= $#
$ echo $?
1

关于bash - Zsh : "shift count must be <= $#" 中的 Shift 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68890648/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com