这些参数可以通过特殊变量来访问。 2. Shell中解析命令行参数的基本方法 Shell脚本通过特殊变量来访问命令行参数。这些特殊变量包括: $0:脚本名称 $1、$2、$3...:传递给脚本的前N个参数($1是第一个参数,$2是第二个参数,依此类推) $#:传递给脚本的参数个数 $@:传递给脚本的所有参数(作为单个字符串) $*...
第一个参数是一个字符串,包括字符和“:”,每一个字符都是一个有效的选项,如果字符后面带有“:”,表示这个字符有自己的参数。 getopts从命令中获取这些参数,并且删去了“-”,并将其赋值在第二个参数中,如果带有自己参数,这个参数赋值在“OPTARG”中。 这里变量$OPTARG存储相应选项的参数,而$OPTIND总是存储原始$*...
* $0 : ./test.sh,即命令本身,相当于C/C++中的argv[0] * $1 : -f,第一个参数. * $2 : config.conf * $3, $4 ... :类推。 * $# 参数的个数,不包括命令本身,上例中$#为4. * $@ :参数本身的列表,也不包括命令本身,如上例为 -f config.conf -v --prefix=/home * $* :和$@相同...
} ### 循环检测参数( -n 非空) while [ -n "$1" ]; do case $1 in ### 使用 case 语句 -m) shift arch="$1" ### 两个参数,例如 -m aarch64 ;; aarch64) arch=aarch64 ### 单个参数 ;; *) display_help ### 调用打印帮助函数 ;; esac shift ### 命令行参数移位 done 上述方法...
(1) $#: 参数的个数 (2) $1...$9: 第一个参数...第9个参数 2. 内置命令解析,getopts,不支持长参数格式 命令格式:getopts option_string variable 第一个参数是一个字符串,包括字符和":",每一个字符都是一个有效的选项,如果字符后面带有":",表示这个字符有自己的参数。如果字符后面无":"符号表示无...
在Linux bash中,可以用以下三种方式解析命令行参数: 直接处理:使用$1,$2,$3…进行解析 getopts: 单个字符选项的情况,例如:-n 10 -f file.txt等选项 getopt:处理单个字符或长选项(long-option),例如:–prefix=/home等 ...
参数后面带 ":",表示后面跟参数,如a 参数后面不带 ":",表示后面没有参数,如b option_string 最前面带一个":",表示会忽略掉执行错误 1.3 getopts 长参数 getopt options optstring parameters 基本语法如上。简单案例如下: #!/bin/bash # Setup getopt. long_opts="debug,arg:" getopt_cmd=$(getopt -o ...
echo "第一个参数:$1" echo "第二个参数:$2" ``` 5.使用getopt进行高级参数解析 在一些复杂的脚本中,我们可能需要更加灵活地解析命令行参数,包括可选参数和参数的值。这时可以使用getopt命令来进行高级参数解析。 getopt命令可以帮助我们解析命令行参数,并将各个参数的值存储到不同的变量中。下面是一个示例,展...