使用 - 参数为unix定义变量输入

时间:2013-07-15 20:01:27

标签: bash shell unix

我的问题很简单,但似乎我似乎无法用谷歌找到答案:(

如何使用 - 参数为我编写的函数指定函数的参数。

例如,我为bash编写了这个.sh文件,但它需要5-6个输入,因此用户可能会搞砸订单。那么如何让函数运行如下:

function -m abc@yahoo.com -d dataset.csv -f filter ...

而不是必须按正确的顺序写入$ 1,$ 2等所有参数

由于

1 个答案:

答案 0 :(得分:2)

尝试使用getopts()。我认为你遇到麻烦的原因是你的搜索条件。您需要optionsswitchesarguments之类的内容,而不是parametersfunctions

这是一个快速而又肮脏的例子。

while getopts "h?vf:" opt; do
    case "$opt" in
        h|\?)
            show_help
            exit 0
            ;;
        v)  verbose=1
            ;;
        f)  output_file=$OPTARG
            ;;
    esac
done

source