gpt4 book ai didi

linux - getopts 用于标志和选项解析

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:22:39 26 4
gpt4 key购买 nike

我在我的脚本中使用了 getopts,我想按照以下所有选项解析顺序使用它。

./myscript -c server
./myscript -c -h server
./myscript server -c
./myscript -h server -c
./myscript server

我正在使用 myscript,如下所示。

#!/bin/bash
while getopts c:h: var
do
case $var in
h) host=$OPTARG;;
c) FLAG=1
esac
done

这里“服务器”是一个参数,应该加载甚至 -h 选项指定与否以及我正在为 FLAG 使用的 -c 选项。有没有办法实现这一点。

最佳答案

有时根本不使用 getopts 会更好:

#!/bin/bash

while [[ $# -gt 0 ]]; do
case "$1" in
-c)
FLAG=1
;;
-h)
HOST=$2
shift
;;
-*)
echo "Unknown option: $1"
exit 1
;;
*)
HOST=$1
;;
esac
shift
done

顺便说一句,你的脚本会给你一个语法错误,因为你错过了两个分号:

c) FLAG=1 ;;

关于linux - getopts 用于标志和选项解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18931226/

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