温馨提示×

Shell脚本中怎么处理命令行选项和参数

小亿
84
2024-04-10 11:14:40
栏目: 编程语言

在Shell脚本中处理命令行选项和参数通常使用getopts命令来实现,以下是一个简单的例子:

while getopts ":a:b:" opt; do
  case $opt in
    a)
      echo "Option a has value $OPTARG"
      ;;
    b)
      echo "Option b has value $OPTARG"
      ;;
    \?)
      echo "Invalid option: -$OPTARG"
      ;;
    :)
      echo "Option -$OPTARG requires an argument."
      ;;
  esac
done

shift $((OPTIND - 1))

echo "Remaining arguments: $@"

在这个例子中,getopts命令用来解析命令行选项,:后面跟着的字符表示需要参数的选项,opt保存当前解析到的选项,OPTARG保存选项的参数。case语句用来根据不同的选项做不同的处理。

使用shift $((OPTIND - 1))命令来移除已经解析过的选项,剩下的参数可以通过$@来获取。

0