1

如何将参数传递给这样的脚本:

scriptname.ksh -p param1 -n param2 

我的意思是如何告诉我的脚本使用-p-n字符定义的两个参数?

4

1 回答 1

6
while getopts ":p:n:" Option; do
  case $Option in
    p)
      # do stuff
      # to access param1, use variable $OPTARG
      ;;
    n)
      # do stuff
      # $OPTARG again to access param2
      ;;
    \?)
      # default
      ;;
  esac
done
shift $(($OPTIND - 1))

在第一个参数中getopts

  • 领导:禁止getopts自己的内部错误报告
  • 字母表示选项
  • 如果一个字母后跟 a :,这意味着它需要一个 $OPTARG

更多信息

getopts 提供了更改选项参数变量名称的功能。

请注意,getopts 无法处理“长格式”参数(--help等)

于 2013-06-02T09:19:32.383 回答