依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
感觉题目很简单,但是写出来又很繁杂,求指教。
用了冒泡排序
#!/bin/bashread -p \"Please input the first number: \" num1read -p \"Please input the second number: \" num2read -p \"Please input the third number: \" num3expr $num1 - $num2 - $num3 &> /dev/nullresult=`echo $?`if [ $result -eq 0 ];thennumber=($num1 $num2 $num3)for ((i=0;i<=2;i++))dok=$[ 2-$i ]for ((j=0;j<=$k;j++))dof=$[ $j+1 ]if [[ ${number[${j}]} -lt ${number[${f}]} ]];thentmp=${number[$j]}number[$j]=${number[${f}]}number[${f}]=$tmpfidonedoneecho ${number[*]} && exitfiecho \"You didn\'t give me three numbers.\"
expr $num1 – $num2 – $num3 这句是判断输入的是不是三个整数,一开始我是用连加,然后一直有bug,最后发现,expr连加的话,中间那个数是空值它也可以继续计算…