shell脚本基础学习(五)

整数运算

方法一:expr [root@client tmp]# expr 1 + 2 3 [root@client tmp]# A=156 [root@client tmp]# B=456 [root@client tmp]# expr $A + $B 612

* / % 取模,取除法运算后的余数

方法二:$(()) + - * / % [root@client tmp]# echo $((6*9)) 54 [root@client tmp]# echo $(((9-6)9)) 27 [root@client tmp]# echo KaTeX parse error: Expected EOF, got # at position 29: …oot@client tmp]#̲ sum=((69));echo $sum 54

方法三:$[] + - * / % [root@client tmp]# echo $[456+789] 1245

方法四:let let [root@client tmp]# let num2=9+25 ;echo $num2 34

Linux计算器

#bc //交互式操作 9/2 4 scale=2 //指定精度,精度就是小数点后保留几位小数 9/2 4.50

ctrl d 退出

非交互式操作 [root@client tmp]# echo “0.36+356” |bc 356.36 [root@client tmp]# echo “scale=6;10/3” |bc 3.333333

进制之间的转换 [root@client tmp]# echo “ibase=2;11111111” | bc //将二进制数转成十进制数 255 [root@client tmp]# echo “ibase=10;obase=16;11” | bc //将十进制数转成16进制数 B [root@client tmp]# echo “ibase=10;obase=2;255” | bc /将十进制数转成二进制数 11111111

for语句

for 变量 in 列表 do 循环体 done

#!/bin/bash
for i in 1 2 3 4 5
do
     echo "hello world"
done

[root@client tmp]# bash bbb.sh 
hello world
hello world
hello world
hello world
hello world

#!/bin/bash
for i in 1 2 3 4 5
do
     echo "$i hello world"
done

[root@client tmp]# bash bbb.sh 
1 hello world
2 hello world
3 hello world
4 hello world
5 hello world

#!/bin/bash
for i in {1..100}
do
     echo "$i hello world"
done

#!/bin/bash
for i in {1..10}
do
     useradd user$i
     echo user$i |passwd --stdin user$i
done

#!/bin/bash
for i in {1..10}
do
       userdel -r user$i
done

for ((初始值;范围;增幅)) do 循环体 done

for ((i=1;i<=10;i++))     i++  ========  i+1     i--  ======= i-1
do
      echo $i
done

((i=1;i<=10;i++)) 初始值 范围 增幅

运行方式当i=1的时候去比较范围,符合范围就打印1,然后拿1去i++,结果在去比较范围,符合范围就打印结果,一值循环到不符合范围结束循环

#!/bin/bash
for ((i=1;i<=10;i++))
do
   echo $i
done

#!/bin/bash
for ((i=10;i>0;i--))
do
   echo $i
done

for 变量 in 列表 do for 变量 in 列表 do 循环体 done 循环体 done

seq seq 1 5 定义起始数为1 结束数为5 1 2 3 4 5

seq 1 2 5 定义步进数 下一个数字值=前一个数字值+步进制 1 3 5

seq 1 6 29 1 7 13 19 25

#!/bin/bash
for i in `seq 1 6 29`
do
   echo $i
done
  
打印99乘法表   i<=j
1*1=1 i=j
1*2=2  i<j
经验分享 程序员 微信小程序 职场和发展