Bash Shell 脚本中使用 位置变量时候:提醒用户输入 位置变量的参数 以及位置变量参数的类型!

本文介绍了如何在Bash Shell脚本中不仅指定位置参数的数量,而且强制验证参数类型,提供错误输入时的用户提示。通过示例展示了使用if条件语句来增强脚本的健壮性。
摘要由CSDN通过智能技术生成

 

        此链接通往 Bash Shell 编程学习的目录导航 ,从入门到放弃,感兴趣的可以去看看:


 
当你在脚本中写入位置变量的时候,如果忘记在执行脚本后面跟上 参数的时候,
会报错又麻烦,那么如何让脚本提醒用户添加位置变量的参数呢??


root@zhengzelin:~# vim test.sh 
[ $# -ne 2 ] && echo -e "\e[1;32m您输入的位置变量的参数不够脚本里的所有位置变量,请重新输入....\e[0m" && exit   
echo "this is $1"
echo "this is $2"
exit

root@zhengzelin:~# ./test.sh 1 2 3
您输入的位置变量的参数不够脚本里的所有位置变量,请重新输入....
root@zhengzelin:~# ./test.sh 1 2 
this is 1
this is 2

但是还不够严谨,因为这 只是指定了 位置变量参数的个数!并没有指定 位置变量参数的类型!

如果我这边的位置变量需要你填写 字符串,而你却使用了数字;
虽然个数与脚本内的位置变量个数一样,但是与我要求的字符串类型不一样,那也是不行的!

这样解决: 使用字符串测试符: =~

[ $# -ne 2 ] && echo -e '\e[1;33m请您确认您所输入的位置变量的参数是否为2两个!\e[0m' && exit
sleep 2
[[ $1 =~ ^[0-9]+$ ]]  ||  exit   
# 要求第一个位置变量必须为:纯数字,不是则推出
sleep 2
[[ $2 =~ ^[a-z]+$  ]] 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值