您的位置:首页 > 运维架构 > Shell

shell基础

2017-01-12 11:09 225 查看

(())用法(常用语简单的整数计算)

算术运算符号
运算符
意义
++ --
增加接减少,可前置也可放在结尾
+ - ! ~
一元的正号与负号,非,逻辑与位的取反
* / %
乘法、除法、取余
+ -
加法、减法
< <= > >=
比较符号
== !=
相等、不相等
<< >>
向左移位、向右移位
&
位的AND
^
位的异或
|
位的或
&&
位的AND
||
为的OR
?:
条件表达式
= += -= *= /= %= &=
赋值运算符

常用文件测试操作符号

常用文件操作符号
说明
-f 文件,英文file
文件存在且为普通文件则真,即测试表达式成立
-d文件,英文directory
文件存在且为目录文件则真,即测试表达式成立
-s 文件,英文size
文件存在且文件大小不为0则真,即测试表达式成立
-e 文件,英文exist
文件存在则真,即测试表达式成立。只要有文件就行,区别-f
-r 文件,英文read
文件存在且可读则真,即测试表达式成立。
-w 文件,英文write
文件存在且可写则真,即测试表达式成立。
-x 文件,英文executable
文件存在且可执行则真,即测试表达式成立。
-L 文件,英文link
文件存在且为链接则真,即测试表达式成立。
f1 -nt f2,英文newer than
文件f1比文件f2新则真,即测试表达式成立,根据文件修改时间计算
f1 -ot f2,英文older than
文件f1比文件f2旧则真,即测试表达式成立,根据文件修改时间计算

字符串测试操作符

字符串测试操作符的作用:比较两个字符串是否相同、字符串长度是否为零,字符串是否为NULL。Bash区分零长度字符串和空字符串。
常用字符串测试操作符
说明
-z "字符串"
若串长度为0则真,-z理解为zero
-n "字符串"
若串长度不为0则真,-n理解为 no zero
"串1"="串2 "
若串1等于串2则真,可以使用"=="代替"="
""!=""
若串1不等于串2则真,但不能使用"!=="代替"!="
特别注意,以上表格中的字符串测试操作符号务必要用""引起来。[ -z "$string" ]字符串比较,比较符号两端最好有空格,参考系统脚本。[ "$password"="john" ]中[、 "$password"、=、"john"、 ]之间必须存在空格

整数二元比较操作符

在[]中使用的比较符
说明
-eq
equal 等于 应用于:整数比较
-ne
not equal 不等于 应用于:整型比较
-gt
greater than 大于 应用于:整型比较
-ge
greater equal 大于或等于 应用于:整型比较
-lt
less than 小于 应用于:整型比较
-le
less equal 大于或等于:整型比较

逻辑操作符

在[]中使用的逻辑扣件符说明
-a
与and,两端都为真则真
-o
或or,有一个真就真
!
非not,相反则为真

小结:
多个[]之间的逻辑扣件符是&&或||

&&前面成功执行后面
|| 前面不成功执行后面

其他

有时用[]比if要简单
[root@vm1 scripts]# [ -f"$file" ] && echo 1 || echo 0
0
[root@vm1 scripts]# if [ -f"$file" ];then echo 1;else echo 0; fi
0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 表达式 常用语