gpt4 book ai didi

Bash getopts 删除最后一个参数

转载 作者:行者123 更新时间:2023-11-29 09:34:53 27 4
gpt4 key购买 nike

所以,我正在尝试使用 bash 的内置 getopts 来处理参数处理,但我得到了一个奇怪的结果。这是我的测试脚本;

#!/bin/sh

HOST=
OWNER=
GROUP=

while getopts "h:o:g" OPTION;
do
case $OPTION in
h)
HOST=$OPTARG
;;
o)
OWNER=$OPTARG
;;
g)
GROUP=$OPTARG
;;
esac
done

echo "$HOST - $OWNER:$GROUP"

然而,当我使用它运行脚本时;

./test.sh -h test.host.com -o skittles -g whatever

我的最后一个 arg 从未被拉入或被丢弃。我的 echo 结果是;

test.host.com - skittles:
^ where's my group value? O.o

有谁知道是什么原因造成的?

谢谢。

最佳答案

您似乎期望 -g 有参数,但在您的选项声明中,没有与您的 -g 相关的“:”。

你应该有这个:

h:o:g:

关于Bash getopts 删除最后一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9585848/

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