$[ number1 运算符 number2 ]:使用这种格式可以使得两个数字进行算术运算,否则将被视为字符串
文件测试操作符
[ -d /files ] :测试目标对象是否为目录
[ -f /files ] :测试目标对象是否为文件
[ -e /files ] :测试目标是否存在
[ -r /files ] :测试当前用户是否有可读权限
[ -w /files ]:测试当前用户是否有可写权限
[ -x /files ]:测试当前用户是否有可执行权限
条件比较符
[ 条件表达式 ]
注意条件表达式与方括号之间有空格隔开。
[ 3 \< 2 ]:在linux中的比较符号如"<",">","=",需要用反斜杆将其转义,才能正确使用
-gt:大于
-lt:小于
-eq:等于
-le:小于等于
-ge:大于等于
-ne :不等于
字符串比较
”=“:判断字符串是否一样
”!=“:判断字符串是否不一样
-z:判断字符串是否为空
必须注意!!!,等号两边的字符串必须与”=“和两边的括号隔开,否则将会出错
字符串的长度
string="abcd"
echo ${#string}或者echo $(expr length $string)
个人觉得记住第二个不会乱
最后的输出结果是4
字符串的截取
string="abcd"
echo ${string:1:4}或者echo $(expr substr $string 1 4)
个人觉得记住第二个不会乱
最后输出的结果是bcd
查找字符串中某个字符的位置
查找字符 i 或 o 的位置(哪个字母先出现就计算哪个):
string="abcd"
echo $(expr index $string a)
最后输出的结果是1
逻辑测试
-a:只有两个条件都成立才成立。如[ 3<4 -a 4<5 ]为真 (与逻辑)
-o:任意一个条件成立即可,如[ 3<4 -o 4<3 ]为真 (或逻辑)
&&,||这两个命令格式是:command1&&command2,以及command1||command2
&&表示只有前面的命令执行成功之后才会去执行后面的命令(是则执行)
||表示只有前面的命令执行失败了,才能去执行后面的命令(不是则执行)