使用SHELL完成两个数字的大小比较

简要说明:

提示用户输入两个数字;

判断输入的内容是否都为数字;

数字做计算并反馈结果;

计算完毕后询问客户是否继续使用;

给用户提供随时退出的方法。

[[email protected] scripts]# cat jisuan2.sh

#!/bin/bash

###thank_oldboy

###2016/3/6

###i wish you all the best.

. /etc/init.d/functions

### read number.

function read_number(){

read -p "please enter the number1:" num1

read -p "please enter the number2:" num2

panduan_number

}

### judge $number1 $number2 both are number.

function panduan_number() {

expr $num1 + $num2 &>/dev/null

[ $? -ne 0 ] && {

[[ $num1 == exit || $num2 == exit ]] && {

echo "you had choice leave,bye."

exit 0

} || {

echo "USAGE:you must enter two numbers, or enter exit to leave."

read_number

}

} || judge_number

}

### judge continue or exit.

function continue_or_exit() {

read -p "please enter go to continue or enter out to leave: " str

case "$str" in

go)

read_number

;;

out)

echo "hope to see you again,bye."

exit 0

;;

*)

echo "USAGE:enter go or out:"

continue_or_exit

;;

esac

}

### expr $number1 $number2.

function judge_number() {

[ $num1 -eq $num2 ] && {

echo "$num1 equal $num2."

continue_or_exit

}

[ $num1 -gt $num2 ] && {

echo "$num1 greater than $num2."

continue_or_exit

}

[ $num1 -lt $num2 ] && {

echo "$num1 lower than $num2."

continue_or_exit

}

}

### the gate of the script.

function main() {

read_number

}

main

时间: 2024-10-13 16:23:04

使用SHELL完成两个数字的大小比较的相关文章

JS 判断两个数字的大小

今天使用 Javascript 比较两个数字的大小,发现了 19 > 100 的现象,什么原因呢? 解决: var 定义的变量默认是字符串,比较两个字符串变量和比较两个数字的规则不同.所以应该先把字符串转化成数字,再去比较大小,如下代码: var counts = $("input[name='counts']").val(); var realCounts = $("input[name='realCounts']").val(); // 错误的比较方法 i

用JS判断两个数字的大小

js中的var定义的变量默认是字符串,如果单纯的比较字符串的话,会出现错误,需要先转化为int类型在做比较. [备注:110和18在你写的程序中是18大的,因为 这两个数都是字符串,而1和1相等之后比较1和8,当然是8大,所以18大.你在比较之前转换成INT型在比 . if(parseInt(num2)>parseInt(num1))  ] 实例: <script>     function   check()     {     var   num1=document.form1.nu

数字比较大小脚本

用if语句的两种方法来判断两个数字的大小. 第一种: #!/bin/bash a=$1 b=$2 #参数的个数不等于2的情况下 [ $# -ne 2 ]&&{         echo "USAGE:$0 NUM1 NUM2"         exit 1 } #计算返回值 expr $a + 0 &>/dev/null RETVAL1=$? expr $b + 0 &>/dev/null RETVAL2=$? #返回值的结果必须都为0  $

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

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

输入两个数字,将比较结果输出到页面

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 6 <title>比较两个数字大小</title> 7 <meta name="descripti

PHP中比较两个时间的大小与日期的差值

在这里我们全用到时间戳 mktime(hour,minute,second,month,day,year,[is_dst])     其参数可以从右向左省略,任何省略的参数都会被设置成本地日期和时间的当前值. 参数 描述 hour 可选.规定小时. minute 可选.规定分钟. second 可选.规定秒. month 可选.规定用数字表示的月. day 可选.规定天. year 可选.规定年.在某些系统上,合法值介于 1901 – 2038 之间.不过在 php教程 5 中已经不存在这个限制

如何用最少的空间来比较两章扑克牌的大小

有下面几个要求: 1)能够比较两张扑克牌是否为同一花色, 2)比较两张扑克牌的大小. 请你设计一个数据结构来存储扑克牌的信息. 最直观的想法就是用两个字符型变量存储一张扑克牌的信息.有面向对象思想的话会想到用类存储信息,定义一些成员函数完成比较等操作. 其实,可以只用6个位就能表示一张扑克牌,其中两位表示花色0000 0000,0001 0000,0010 0000,0011 0000.这样就表示四种花色.后四位可以表示十三种数字. 改写成十六进制以后就能完成比较等操作. const char

程序员面试100题之十:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值(转)

能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解. 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 给定Sum= 10 分析与解法 这个题目不是很难,也很容易理解.但是要得出高效率的解法,还是需要一番思考的. 解法一 一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字. 显然其时间复杂度为N(N-1)/2即O(N^2).这个算法很简

和为s的两个数字

牛客上要求返回乘积最小的,实际上不用麻烦去写另外一个函数,第一次找到两个数字的乘积就一定是最小的. 在调试程序时也遇到两个问题: 1.既然用到了vector容器,头文件就应该声明#include<vector> 2.vector的初始化的一种方式: int b[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};    vector<int> base(b,b+20); class Solution { public: