Bash 脚本参数解析:使用 getopts 传递参数
下面是一个使用 getopts 的示例代码:
#!/bin/bash
while getopts ':a:b:c:' opt; do
case $opt in
a)
arg_a=$OPTARG
;;
b)
arg_b=$OPTARG
;;
c)
arg_c=$OPTARG
;;
\?)
echo 'Invalid option: -$OPTARG' >&2
exit 1
;;
:)
echo 'Option -$OPTARG requires an argument.' >&2
exit 1
;;
esac
done
echo 'arg_a: $arg_a'
echo 'arg_b: $arg_b'
echo 'arg_c: $arg_c'
在这个示例中,我们定义了三个选项:-a,-b 和 -c,并且每个选项都可以接受一个参数。
在命令行中运行这个脚本时,可以使用类似以下的方式来传递参数:
./script.sh -a value_a -b value_b -c value_c
脚本会解析这些参数,并将它们存储在对应的变量 arg_a,arg_b 和 arg_c 中。最后,脚本会打印出这些变量的值。
需要注意的是,getopts 只能解析单个字符的选项,如果需要解析更复杂的选项,可以考虑使用其他的命令行解析工具,如 getopt 或 argparse。
原文地址: https://www.cveoy.top/t/topic/hPoD 著作权归作者所有。请勿转载和采集!