shell两个数字的运算,一共三个变量

复制代码
#!/bin/bash
#两个数运算的简单脚本 22 +  33   ,一共三个参数
echo $#
#对获取的参数以此判断是否包含[a-zA-Z]的东西,如果包含就退出.因为数字相加不是数字就是加减乘除
for i_args in "$@"
do
    echo $i_args
    if [[ ${i_args} =~ [a-zA-Z]+ ]];then
        echo "contain illegal character"
        exit 1
    fi
done 

#判断参数个数是3个,让expr 参数的两个数字相加如果是数字相加,如果正常执行就返回$?=0,否则执行不正常就不是两个数字.

if [ $# == 3 ];then
    a=$1
    c=$2
    b=$3

    expr $a + 2 + $b >/dev/null 2>&1  #让expr 参数的两个数字相加如果是数字相加,如果正常执行就返回$?=0,否则执行不正常就不是两个数字 报错丢空洞
    if [ $? == 0 ]; then
         echo "begin calculation"
                 echo $a $c $b|bc

    else
        
         echo "please input digit"
         exit 1
    fi

elif [ $# -lt 3 ]; then    #少于三个参数
    echo "you are miss args"
    exit
elif [ $# -gt 3 ]; then  #多余三个参数
    echo "you have too many args"
    exit 1
fi
复制代码

 

posted @   滴滴滴  阅读(3608)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示