编写脚本加减乘除求余linux,shell编程实例---实现整数的加减乘除余运算(利用read和脚本传参的方式)...

1.read读取方式:

[[email protected] scripts]# vim read_1.sh

1 #!/bin/bash

2 # Filename: read_1.sh

3 # Describe: Integer arithmetic

4 # Author: Lijun

5 # Date: 2015-08-24

6 # Version: 1.0.1

7

8 read -p "Please input two nums: " a b

9

10 if [ -z $a ] || [ -z $b ]

11 then

12     echo "Please input two nums again."

13     exit 1

14 fi

15

16 expr $a + 1 > /dev/null 2>&1

17 RETVAL1=$?

18 expr $b + 1 > /dev/null 2>&1

19 RETVAL2=$?

20

21 if [ $RETVAL1 -ne 0 ] || [ $RETVAL2 -ne 0 ]

22 then

23     echo "Please input two nums(must be integer)."

24     exit 2

25 else

26     echo "a+b=$(( $a + $b ))"

27     echo "a-b=$(( $a - $b ))"

28     echo "a*b=$(( $a * $b ))"

29     echo "a/b=$(( $a / $b ))"

30     echo "a%b=$(( $a % $b ))"

31     exit 0

32 fi

2.脚本传参的方式:

[[email protected] scripts]# vim read_2.sh

1 #!/bin/bash

2 # Filename: read_2.sh

3 # Describe: Integer arithmetic

4 # Author: Lijun

5 # Date: 2015-08-24

6 # Version: 1.0.2

7

8 a=$1

9 b=$2

10

11 if [ $# -ne 2 ]

12 then

13     echo "Usage: sh `basename $0` {NUM1 NUM2}"

14     exit 1

15 fi

16

17 expr $a + 1 > /dev/null 2>&1

18 RETVAL1=$?

19 expr $b + 1 > /dev/null 2>&1

20 RETVAL2=$?

21

22 if [ $RETVAL1 -ne 0 ] || [ $RETVAL2 -ne 0 ]

23 then

24     echo "Please input two integers(must be integer)."

25     exit 2

26 else

27     echo "a+b=$(( $a + $b ))"

28     echo "a-b=$(( $a - $b ))"

29     echo "a*b=$(( $a * $b ))"

30     echo "a/b=$(( $a / $b ))"

31     echo "a%b=$(( $a % $b ))"

32     exit 0

33 fi

3. 整数判断的另一种方法:

[[email protected] scripts]# vim read_3.sh

1 #!/bin/bash

2 # Filename: read_1.sh

3 # Describe: Integer arithmetic

4 # Author: Lijun

5 # Date: 2015-08-24

6 # Version: 1.0.1

7

8 read -p "Please input two nums: " a b

9

10 if [ -z $a ] || [ -z $b ]

11 then

12     echo "Please input two nums again."

13     exit 1

14 fi

15

16 echo $a |egrep -o "[^0-9]{1,}" > /dev/null || echo $b |egrep -o "[^0-9]{1,}" > /dev/null && 17 echo "Please input two nums(must be integer)."|| {

18 echo "a+b=$(( $a + $b  ))"

19 echo "a-b=$(( $a - $b  ))"

20 echo "a*b=$(( $a * $b  ))"

21 echo "a/b=$(( $a / $b  ))"

22 echo "a%b=$(( $a % $b  ))"

23 }

时间: 08-23

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值