shell脚本中比较并输出最大值

本文介绍了一个简单的Bash脚本程序,该程序用于接收三个输入参数,并通过条件判断来找出这三个数中的最大值。通过使用if条件语句进行数值比较,程序能够输出最大的数字。

#!/bin/bash

    echo " input first parm:"

    read a

    echo " input second parm:"

    read b

    echo " input third parm:"

    if [ $a -gt $b -a $a -gt $c ]

    then

    echo "max is $a"

    fi

      if [ $b -gt $a -a $b -gt $c ]

    then

    echo "max is $b"

    fi

      if [ $c -gt $b -a $c -gt $c ]

    then

    echo "max is $c"

    fi


shell脚本中获取数字最大值有多种实现方式: ### 方式一:通过命令行输入数组获取最大值 ```bash #!/bin/bash min=$1 max=$1 sum=0 for i in "$@" do if test $min -gt $i then min=$i fi if test $max -lt $i then max=$i fi sum=$[ $sum + $i ] done echo "最大值为:"$max ``` 运行脚本时,在命令行输入一系列数字,如`sh script.sh 1 2 3 4 5 6 7 8 9 10`,脚本输出最大值。此脚本在遍历输入的所有数字时,不断更新最大值变量,最终输出最大值[^1]。 ### 方式二:固定次数输入获取最大值 ```bash #!/bin/bash echo "有5次输入机会!筛选出最大的数字!" a=0 read -p "请输入任意整数:" n a=$(($a+$n)) max=$n for i in `seq 1 4` do read -p "请输入任意整数:" n a=$(($a+$n)) if [ $n -ge $max ] then max=$n fi done echo Max: $max ``` 该脚本会提示用户有5次输入机会,每次输入一个整数,在每次输入后比较当前输入的数字和已记录的最大值,如果当前输入数字更大,则更新最大值,最后输出最大值[^2]。 ### 方式三:生成随机数获取最大值 ```bash for ((i=0;i<10;i++)); do num[$i]=$RANDOM if [ $i -eq 0 ]; then min=${num[$i]} max=${num[$i]} else if [ ${num[$i]} -lt $min ]; then min=${num[$i]} fi if [ ${num[$i]} -gt $max ]; then max=${num[$i]} fi fi done echo "所有的数:${num[*]}" echo "最大值为:$max" ``` 此脚本会生成10个随机数(`$RANDOM`是bash的一个特殊变量,每次引用都会生成一个介于0到32767之间的随机数),在生成随机数的过程中,不断比较更新最大值,最后输出所有随机数和最大值[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值