shell(十六)数值运算和变量读入

一   数值运算

整数

#给变量加1,命令行的模式
i=2
i=`echo $i+1|bc`
echo $i

# 脚本-->变量模式-->$()或者``方式!

# (())运算速度最高!

echo $((1+2))

echo $(($a+$b))

小数运算

# 计算
echo 10-7.3|bc
2.7
# 保留数位
echo "scale=1;2.1 * 2.3"|bc
4.8
# 只有bc支持小数运算!

########################
# awk的方式

echo "7.8 5.6" | awk '{print ($1-$2)}'

echo "7.8 5.6" | awk '{print ($1-$2)/4}

需求1

# 分割符号-->默认是空格
[root@random mnt]# seq -s "+" 10
1+2+3+4+5+6+7+8+9+10
# 计算
[root@random mnt]# seq -s "+" 10 | bc
55
# 其它方法-->把空格换成+号
[root@random mnt]# echo {1..100} | tr " " "+"| bc
5050

echo `echo {1..100} | tr " " "+"`=`echo {1..100} | tr " " "+"| bc`

expr $[`seq -s "+" 100`]

# 核心:生成序列,指定分割符号,然后运算!

二    变量读入

#(0)直接赋值

#(1)脚本传递参数

#(2)read读入

read命令相关参数

选项说明:
-a:将分裂后的字段依次存储到指定的数组中,存储的起始位置从数组的index=0开始
-d:指定读取行的结束符号。默认结束符号为换行符
-n:限制读取N个字符就自动结束读取,如果没有读满N个字符就按下回车或遇到换行符,则也会结束读取
-N:严格要求读满N个字符才自动结束读取,即使中途按下了回车或遇到了换行符也不结束。其中换行符或回车算一个字符
-p:给出提示符。默认不支持"\n"换行,要换行需要特殊处理,见下文示例。例如,"-p 请输入密码:"
-r:禁止反斜线的转义功能。这意味着"\"会变成文本的一部分
-s:静默模式。输入的内容不会回显在屏幕上
-t:给出超时时间,在达到超时时间时,read退出并返回错误。也就是说不会读取任何内容,即使已经输入了一部分

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值