需要帮助解析shell脚本命令行参数

时间:2012-05-27 19:26:59

标签: linux shell

我是Unix shell脚本的新手,希望能够帮助编写小脚本。

我为我的脚本定义了以下概要:

install.sh [-h|-a path|[-k path][-f path][-d path][-e path]]

即,用户可以请求一些help (-h),将所有内容安装到指定位置(-a path),或者将一个或多个组件(-k, -f, -d -e)安装到适当的路径。如果没有参数,则应显示帮助。

提前致谢。

1 个答案:

答案 0 :(得分:5)

您可以使用getopts解析bash的命令行。以下是Bash/Parsing command line arguments using getopts的示例(显然您必须根据需要调整选项)。

#!/bin/bash

#Set a default value for the $cell variable
cell="test"

#Check to see if at least one argument was specified
if [ $# -lt 1 ] ; then
   echo "You must specify at least 1 argument."
   exit 1
fi

#Process the arguments
while getopts c:hin: opt
do
   case "$opt" in
      c) cell=$OPTARG;;
      h) usage;;
      i) info="yes"
      n) name=$OPTARG;;
      \?) usage;;
   esac
done

相关SO问题How do I parse command line arguments in bash

有关详细信息,请在此man page上搜索getopts以获取bash。