Shell脚本参数

时间:2013-11-28 09:25:33

标签: bash shell

在shell脚本命令中解析参数然后验证它的最佳方法是什么?

例如bash someScript.sh -p <some_path> -o <some_other_param> -i (User forget to provide value)

如何解析所有这些参数,当用户忘记输入某些参数或此参数的值时显示一些错误信息并终止执行脚本?

3 个答案:

答案 0 :(得分:4)

使用

这个网站上有很多例子,但是还有一个例子:

#!/usr/bin/env bash

p_set=false
o_set=false
i_set=false
while getopts p:o:i: OPT; do
    case "${OPT}" in
        p)
            p_set=true
            some_path=${OPTARG}
            ;;
        o)
            o_set=true
            some_other_param=${OPTARG}
            ;;
        i)
            i_set=true
            # Process ${OPTARG} or report error if it's not provided
            ;;
    esac
done

if ! $i_set ; then
    echo "-i must be provided"
fi

答案 1 :(得分:0)

搜索getopts的手册页。你很容易实现它。

答案 2 :(得分:0)

当然,man页面始终是一个很好的资源。但网上也有很好的例子。在处理getopts时,我总是提到http://mywiki.wooledge.org/BashFAQ/035。几乎所有你想知道的东西都可以在那里找到。

相关问题