shell脚本编写(5.参数传递)

6 篇文章 1 订阅

1.最基本的read,通过read交互式传递:

read name
echo $name

2.使用$0,$1…传递:
比如脚本中echo "0:$0 1:$1 2:$2"
运行脚本命令:./test.sh first second
输出的 $0就是./test.sh $1是first $2是second。

3.使用getops实现选项参数对应传递:

while getopts ":a:b:c:h" opt;
do
case $opt in
a)
echo "type:$OPTARG"
;;
b)
echo "name$OPTARG"
;;
c)
echo "size$OPTARG"
;;
h)
print_help
exit 1
;;

esac
done

上面的h对应的之所以要exit 1,即直接退出,是为了防止在查看help内容的时候脚本继续执行后面的操作。
print_help是下面的函数。
传参方式:./test -a 要传给type后面输出的值 -b ....... 如果选项不在a b c中,则调用?后面的操作。
":a:b:c"中的冒号是有一些意义的:
①最开始的冒号代表忽略系统报错使用自定义报错;
②每个字母后面的冒号代表使用该选项就必须带参数,可以和选项用空格隔开,也可以连着;
③字母后面没有冒号代表这个选项可以使用但是参数不会传递进去;
PS: getopts不支持多字母的选项,只支持单个字母,如上a,b,c。
如果要调用函数的话,只写函数名称,不带括号。函数声明的时候需要
如声明一个输出函数,EOF(End of file)代表这一段话作为一个文件。

print_help(){
cat <<EOF  -n  name  input the name of virtual machine. (default: fabric)
EOF
}

3.getopt长字符传参:
getopt不是bash内置命令,但一般Linux都自带

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值