Shell 向脚本传递参数

Shell 向脚本传递参数,shell,unix,parameters,Shell,Unix,Parameters,如何将参数传递给这样的脚本: scriptname.ksh -p param1 -n param2 我的意思是如何告诉脚本使用由-p和-n字符定义的两个参数 while getopts ":p:n:" Option; do case $Option in p) # do stuff # to access param1, use variable $OPTARG ;; n) # do stuff # $OPTAR

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

scriptname.ksh -p param1 -n param2 
我的意思是如何告诉脚本使用由
-p
-n
字符定义的两个参数

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

getopts提供了更改option参数变量名称的功能

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

getopts
的第一个参数中:

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

getopts提供了更改option参数变量名称的功能

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

我会在case语句中添加一个“default”分支:
?)错误“无效选项:-$OPTARG”;伸出援手;出口1我会在case语句中添加一个“default”分支:
?)错误“无效选项:-$OPTARG”;伸出援手;出口1