gpt4 book ai didi

bash - 在 bash 中,我怎样才能有一组随机顺序的参数?比如键值对?

转载 作者:行者123 更新时间:2023-11-29 08:53:44 24 4
gpt4 key购买 nike

示例:

./myscript --ip 192.168.1.1 --port 1985

或其他可能的

./myscript --port 1985 --ip 192.168.1.1

我想让我的脚本以任何顺序接受一组参数

./myscript a b c d
./myscript d c b a
./myscript b d a c

等等

最佳答案

看看getopts

getopts: getopts optstring name [arg]
Parse option arguments.

Getopts is used by shell procedures to parse positional parameters as options.

OPTSTRING contains the option letters to be recognized; if a letter is followed by a colon, the option is expected to have an argument, which should be separated from it by white space.

Each time it is invoked, getopts will place the next option in the shell variable $name, initializing name if it does not exist, and the index of the next argument to be processed into the shell variable OPTIND. OPTIND is initialized to 1 each time the shell or a shell script is invoked. When an option requires an argument, getopts places that argument into the shell variable OPTARG.

getopts reports errors in one of two ways. If the first character of OPTSTRING is a colon, getopts uses silent error reporting. In this mode, no error messages are printed. If an invalid option is seen, getopts places the option character found into OPTARG. If a required argument is not found, getopts places a ':' into NAME and sets OPTARG to the option character found. If getopts is not in silent mode, and an invalid option is seen, getopts places '?' into NAME and unsets OPTARG. If a required argument is not found, a '?' is placed in NAME, OPTARG is unset, and a diagnostic message is printed.

If the shell variable OPTERR has the value 0, getopts disables the printing of error messages, even if the first character of OPTSTRING is not a colon. OPTERR has the value 1 by default.

Getopts normally parses the positional parameters ($0 - $9), but if more arguments are given, they are parsed instead.

Exit Status:
Returns success if an option is found; fails if the end of options is encountered or an error occurs.

关于bash - 在 bash 中,我怎样才能有一组随机顺序的参数?比如键值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528646/

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