- 四则运算
简单四则运算:awk、expr
a=10
b=20
val=`expr $a + $b`
echo "a+b=$val"
val = `expr $a \* $b`
echo "a*b=$val"
val = `expr $a / $b`
echo "a/b=$val"
if [ $a != $b ]
then
echo "a is not equal to b"
fi
注意
- val=.. 中间不能有空格
- $a + $b 中间有空格,否则会使a,b字符的连接
-
expr $a + $b
是反引号 - 惩罚*有反引号 *
- 条件表达式在方括号中,且注意空格(if后有,[中间都有])
2.关系运算符
关系运算符只支持数字,不支持字符串,除非字符串的值为数字 - -eq //判断a==b
- -ne //判断a!=b
- -gt //判断a>b
- -lt //判断a<b
- -ge //判断a>=b
- -le //判断a<=b
a=10
b=20
echo "a=$a,b=$b"
if [ $a -eq $b ]
then
echo "a=b:ture"
else
echo "a=b::false"
fi
if [ $a -ne $b ]
then
echo "a!=b:true"
else
echo "a!=b:false"
fi
3.逻辑元素符
- ! 非
- -o
- -a
if [ $a -gt 5 -a $a -lt 15 ]
then
echo "5<a<15:true"
else
echo "5<a<15:false"
fi
if [ $b -gt 30 -o $b -lt 25 ]
then
echo "a>30||a<25:true"
else
echo "a>30||a<25:false"
fi
4.字符串判断
- = //字符串是否相等
- !=
- -z //字符串长度为0,返回TRUE
- -n //字符串长度不为0,返回TRUE
- str //字符串不为空返回true
if [ $a = $b ]
then
echo "a is equal to b : true"
else
echo "a is equal to b : false"
fi
if [ $a != $b ]
then
echo "a is not equal to b : true"
else
echo "a is not equal to b : false"
fi
if [ -z $a ]
then
echo "a's length is 0 : true"
else
echo "a's length is 0 : false"
fi
if [ -n $b ]
then
echo "c's length is not 0 : true"
else
echo "c's length is not 0 : false"
fi
if [ $b ]
then
echo "a is not null : true"
else
echo "a is not null : false"
fi
5.文件操作
[图片上传中。。。(1)]```
if [ -z "$1" ]
then
echo " ERROR:Invalid number of arguments"
echo " Usage:$0 "
echo " "
exit
fi
if [ -d $1 ]
then
echo "$1 is a directory"
else
echo "$1 is not a directory"
exit
fi
2.变量
1.字符串
单引号:中间不可出现变量、不可进行转义
双引号:中间可出现变量、可转义
- 获取字符串长度:${#string}
- 提取字符串:${string:1:4}
- 查找z
2.stty
stty -a #将所有选项设置的当前状态写到标准输出中
old_stty_settings=`stty -g` #保存当前设置
stty "$old_stty_settings" #恢复当前设置
stty -echo #禁止回显,当您在键盘上输入时,并不出现在屏幕上
stty echo #打开回显
stty raw #设置原始输入
stty -raw #关闭原始输入
stty igncr #开启忽略回车符
stty -igncr #关闭忽略回车符