1.运算表达式
整数的运算
expr只能进行整数的运算
格式: expr 变量1 运算符 变量2 [运算符 变量3]
运算符:
加法 +
减法 -
乘法 \ *
除法 /
取余 (取模)%
2)
变量运算
3)
\
echo $( )
随机数生成器变量:
$RANDOM 取值范围:0-32767
注:
34+1 说明从1-34
34 说明从0-33
简单脚本
提取系统信息
#!/bin/bash
ip=$(ifconfig ens33|grep netmask|tr -s ' ' |cut -d ' ' -f3)
mem=$(free -h|grep Mem|tr -s ' '|cut -d ' ' -f2)
hostname=$(hostname)
nh=`uname -r`
disk=$(lsblk|grep disk|tr -s ' ' |cut -d' ' -f4)
cpuxh=$(lscpu |grep '型号:'|tr -s ' ' |cut -d' ' -f2)
cpuhs=$(lscpu |grep 'CPU(s):'|tr -s ' ' |cut -d' ' -f2)
echo "该主机的ip地址是: $ip"
echo "该主机的总内存是: $mem"
echo "该主机的主机名是: $hostname"
echo "该主机的内核版本是:$nh"
echo "该主机的disk大小为:$disk"
echo "该主机的cpu型号: $cpuxh"
echo "该主机的cpu核数: $cpuhs
变量的自增和自减
| 简写表达式 | 等同于 |
|---|---|
| let i++ | i=$[$i+1] |
| let i-- | i=$[$i-1] |
| let i+=2 | i=$[$i+2] |
| let i-=2 | i=$[$i-2] |
| let i*=2 | i=$[$i*2] |
| let i/=2 | i=$[$i/2] |
| let i%=2 | i=$[$i%2] |
示例1:
示例2:
比较 i++ 和 ++i:
i++ 是先赋值再自增; ++i 是自增后再赋值。
- [root@localhost ~]# i=1;let i++; echo $i 2
- [root@localhost ~]# i=1;let ++i; echo $i 2
- [root@localhost ~]# i=100;let z=i++; echo z //i++是先赋值给z后再自增 101 100
- [root@localhost ~]# i=100;let z=++i; echo z //++i是先自增后再赋值给z 101 101
5 生成随机数
使用 echo $[RANDOM%n] 可以生成随机数,n为正整数。
对 n 取余数的范围是 [0,n-1]。
echo $[RANDOM%10]生成的随机数范围为 [0,9]- 如果希望包含10的话,可以
echo $[RANDOM%11],则随机数范围为 [0,10]。 - 如果希望随机数范围都为正整数,即不包含0的话,可以
echo $[RANDOM%10+1],此时随机数范围为[1,10]。