Bash 使用unix的-parameter定义变量输入
我的问题很直截了当,但似乎我无法用谷歌找到答案:( 对于我编写的函数,如何使用-parameter为函数指定参数 例如,我为bash编写了这个.sh文件,但它需要5-6个输入,因此用户可能会搞乱订单。因此,如何使函数像以下那样运行: 函数-mabc@yahoo.com-d dataset.csv-f筛选器 而不必为$1、$2等按正确顺序写入所有参数 谢谢尝试使用Bash 使用unix的-parameter定义变量输入,bash,shell,unix,Bash,Shell,Unix,我的问题很直截了当,但似乎我无法用谷歌找到答案:( 对于我编写的函数,如何使用-parameter为函数指定参数 例如,我为bash编写了这个.sh文件,但它需要5-6个输入,因此用户可能会搞乱订单。因此,如何使函数像以下那样运行: 函数-mabc@yahoo.com-d dataset.csv-f筛选器 而不必为$1、$2等按正确顺序写入所有参数 谢谢尝试使用getopts()。我想你遇到问题的原因是你的搜索词。你需要像选项、开关、和参数这样的东西,而不是参数和函数 下面是一个简单的例子 wh
getopts()
。我想你遇到问题的原因是你的搜索词。你需要像选项
、开关
、和参数
这样的东西,而不是参数
和函数
下面是一个简单的例子
while getopts "h?vf:" opt; do
case "$opt" in
h|\?)
show_help
exit 0
;;
v) verbose=1
;;
f) output_file=$OPTARG
;;
esac
done
听起来你需要的是getopt/getopts。#!/usr/bin/bash optget(){而getopts“a:b:”opt;do case“$opt”in a)out=“$OPTARG”;;b)out 2=“$OPTARG”;“esac done echo”测试如果我们得到$out。这一个$out2”}这确实接受了-a,但是-b自动变成了OPTARG。所以optget-a这个-b的输出也是:如果我们得到这个,测试一下。这个OPTARG你能帮忙吗?@yatici嘿,我真的说不出为什么它不工作(看起来应该是这样),而且我目前还没有访问linux终端(在工作中)。也许试着把它作为另一个问题发布?唯一的问题是仔细检查你写的b)和你写的a)完全一样。