shell 实战(6):read 命令

read -t 10 -p "请输入:" var

-t 表示过期时间(s)

-p 表示提示消息

var 表示变量,可以是多个,用空格分开

[root@bogon linuxWorkspace]# cat test.sh 
#!/bin/bash
read -p "a:" a
read -p "b": b
echo "a-b =$(( $a - $b ))"
echo "a+b =$(( $a + $b ))"
echo "a*b =$(( $a * $b ))"
echo "a/b =$(( $a / $b ))"
echo "a**b =$(( $a ** $b ))"
echo "a%b =$(( $a % $b ))"

sh test.sh

[root@bogon linuxWorkspace]# sh test.sh
a:3
b:6
a-b =-3
a+b =9
a*b =18
a/b =0
a**b =729
a%b =3

[root@bogon linuxWorkspace]# cat test_01.sh 
#!/bin/bash
echo -n "pls input two number:"  # - n 表示不换行
read a b
echo "a-b =$(( $a - $b ))"
echo "a+b =$(( $a + $b ))"
echo "a*b =$(( $a * $b ))"
echo "a/b =$(( $a / $b ))"
echo "a**b =$(( $a ** $b ))"
echo "a%b =$(( $a % $b ))"

[root@bogon linuxWorkspace]# sh test_01.sh 
pls input two number:6 3
a-b =3
a+b =9
a*b =18
a/b =2
a**b =216
a%b =0

[root@bogon linuxWorkspace]# cat test.sh
#!/bin/bash
while true
do
 read -p "a:" a
 expr $a + 0 >/dev/null 2>&1
 [ $? -ne 0 ] && continue||break
done
while true
do
 read -p "b": b
 expr $b + 0 >&/dev/null
 [ $? -ne 0 ]&& continue||break
done
echo "a-b =$(( $a - $b ))"
echo "a+b =$(( $a + $b ))"
echo "a*b =$(( $a * $b ))"
echo "a/b =$(( $a / $b ))"
echo "a**b =$(( $a ** $b ))"
echo "a%b =$(( $a % $b ))"

sh test.sh

[root@bogon linuxWorkspace]# sh test.sh
a:4
b:6
a-b =-2
a+b =10
a*b =24
a/b =0
a**b =4096
a%b =4

[root@bogon linuxWorkspace]# cat test_02.sh
#!/bin/bash
a="$1"
b="$2"
Usage() {
  echo "USAGE:sh $0 num1 num2"
  exit 1
}
if [ $# -ne 2 ];then
  Usage
fi

expr $a + 0 >/dev/null 2>&1
[ $? -ne 0 ] && Usage
expr $b + 0 >&/dev/null
[ $? -ne 0 ]&& Usage

echo "a-b =$(( $a - $b ))"
echo "a+b =$(( $a + $b ))"
echo "a*b =$(( $a * $b ))"
echo "a/b =$(( $a / $b ))"
echo "a**b =$(( $a ** $b ))"
echo "a%b =$(( $a % $b ))"

[root@bogon linuxWorkspace]# sh test_02.sh 
USAGE:sh test_02.sh num1 num2
[root@bogon linuxWorkspace]# sh test_02.sh 2 4
a-b =-2
a+b =6
a*b =8
a/b =0
a**b =16
a%b =2
[root@bogon linuxWorkspace]# sh test_02.sh d  f
USAGE:sh test_02.sh num1 num2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值