Shell脚本学习第五天——算术运算符
?????????????????????——张嘉佳 《从你的全世界路过》 一、chars=` seq -s ” ” 100 ` :从1到100,以空格为分隔符。获取字符串长度的三种方法: echo ${#chars} #取长度 291 echo $chars|wc -m #292 echo $(expr length "$chars") 二、查看命令运行的时间:
这里我在程序中加了个延时 1 秒。 三、常见数值运算:(( )) let expr bc $[ ]1、(( ))运算符:??用于执行简单的整数运算(不能是小数或者字符串,bc命令可用于小数计算),除了内嵌双引号无需转义。 运算符和C语言基本一样: 实例: 两个 * 就是幂: 比较: 等差数列求和: 1/2 n *(a1+an) 各种(( ))运算的shell脚本例子: #!/bin/bash
a=6
b=2
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 ))"
命令行传参: 把 a=6 和 b=2 改成 a=$1,b=$2 : 最简单的四则运算命令:
2、letlet 和(( ))基本一样 效率比较低,用得比较少 实例: i=2
let i=i+8 (( i = i+8 ))
输出:10
去掉let变为定义:
i=i+8
echo $i
输出:i+8
3、expr:三、expr (运算符前后必须有空格) expr 2 + 2
expr 2 * 2
expr $[2+3] //中括号表达方法
expr $[2*3]
a=3
i=`expr $a + 1`
实例一:
实例二: read -p -t 7 "please input:" a //-t 7 7秒不输入就超时
expr $a + 0 &>/dev/null //丢弃输出和错误 不在屏幕上报错
[ $? -eq 0 ] && echo int || echo chars
&> 等价于 >/dev/null 2>&1 加while tree 循环 done 4、bc运算:??bc是一种任意精度的计算语言,注意是一种语言,它提供了一些语法结构,比如条件判断、循环等,可以说是很强大的,=在实际中很少找到需要这个用途的场合 。另外一个用途就是用来进行进制转换。 参数:
特殊变量: ibase,obase 用于进制转换。
首先用命令 $bc -l -q
ibase=2 /*指定进制转换的输入机制为二进制,输出默认为是十进制*/
1010
10
4^2 /*指数运算,注:指数不能为浮点数*/
16
4*a(1) /*计算π值,a()是个函数:arctan() 3.14159265358979323844 quit /*退出*/
每日编程练习 /dev/pts是远程登陆(telnet,ssh等)后创建的控制台设备文件所在的目录。所以你要先知道他的pts目录下的编号。 while true
do
sleep 1
echo "nihao" >/dev/pts/9
done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |