将参数传递给脚本

时间:2013-06-02 08:52:55

标签: shell unix parameters

如何将参数传递给类似的脚本:

scriptname.ksh -p param1 -n param2 

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

1 个答案:

答案 0 :(得分: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自己的内部错误报告
  • 字母表示选项
  • 如果一封信后跟:,则表示预计会有$ OPTARG

more information

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

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