下面是一个使用 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。

Bash 脚本参数解析:使用 getopts 传递参数

原文地址: https://www.cveoy.top/t/topic/hPoD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录