gpt4 book ai didi

linux - getopts命令没有输入时如何回显

转载 作者:太空狗 更新时间:2023-10-29 12:39:47 25 4
gpt4 key购买 nike

这放在 case 语句之前。在没有任何输入的情况下执行时,它仍然不输出任何内容。

 while getopts :x:y:z: OPT; do
if [ $OPT == "" ]; then
echo "Null"
exit 10
fi

此外,我应该如何编写代码以在任何位置/顺序执行值?比如:

 .\project -x 120 -y 170 -z Car
.\project -y 170 -z Car -x 120

最佳答案

您可以先测试是否根本没有传递任何参数并退出(这发生在 getopts 循环之前):

if [ $# -eq 0 ]; then
usage # Call usage function or echo some usage message
exit
fi

没有办法强制强制参数。您可以做的是在 getopts 循环完成后测试某个值。
如果 -x 是强制选项,并且它用于设置 var 变量,请测试它是否未被 getopts 循环设置,如果是打印相关信息并退出:

if [ -z ${var+x} ]; then
echo "No -x argument supplied. exiting"
exit 10
fi

上面的语句在 case 语句之后运行。

此外,您在 while 循环后遗漏了“完成”,很可能是错字。

关于linux - getopts命令没有输入时如何回显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49706053/

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