if语句的使用
if语句的的格式: if 【 expression 】 expression 和方括号([ ])之间必须有空格,否则会有语法错误。 then statments fi或者: if 【 expression 】 then statments else statment fi
多条分支结构
或者: if 【 expression 】 then statments elif 【 expression 】 注意用的是elif then statments elif 【 expression 】 then statments else statments
a=12b=13echo "a的值为:${a}"echo "b的值为:${b}"if [ $a -gt $b ] #-gt代表大于 -lt代表小于 -ne不等于 -eq等于then echo "a的值比b大"else echo "a的值比b小"fi
While循环:
until循环:
Shell日期格式:
修改日期格式:
cat标名行号
cat -n 文件名
cat忽略空行标明行号
cat -b 文件名
Shell修改时区
或者在配置文件/etc/profile下添加如下代码:
最后source /etc/profile
let和expr运算指令
关于整数变量计算,有如下几种:【+ 、- 、* 、/ 、%】,他们的意思和字面意思相同。
整数运算一般通过let和expr这两个指令来实现,如对变量x加1可以写作:
let "x=$x+1"#或者x=`expr $x + 1`
在比较操作上,整数变量和字符串变量各不相同,详见下表:
对应的操作 | 整数操作 | 字符串操作 |
相同 | -eq | = |
不同 | -ne | != |
大于 | -gt | > |
小于 | -lt | < |
大于或等于 | -ge |
|
小于或等于 | -le |
|
为空 |
| -z |
不为空 |
| -n |
比如:
比较字符串a和b是否相等就写作:
if [ $a = $b ]
判断字符串a是否为空就写作:
if [ -z $a ]
判断整数变量a是否大于b就写作:
if [ $a -gt $b ]
BASH中用于判断文件属性的操作符:
运算符 | 含义( 满足下面要求时返回 TRUE ) |
-e file | 文件 file 已经存在 |
-f file | 文件 file 是普通文件 |
-s file | 文件 file 大小不为零 |
-d file | 文件 file 是一个目录 |
-r file | 文件 file 对当前用户可以读取 |
-w file | 文件 file 对当前用户可以写入 |
-x file | 文件 file 对当前用户可以执行 |
-g file | 文件 file 的 GID 标志被设置 |
-u file | 文件 file 的 UID 标志被设置 |
-O file | 文件 file 是属于当前用户的 |
-G file | 文件 file 的组 ID 和当前用户相同 |
file1 -nt file2 | 文件 file1 比 file2 更新 |
file1 -ot file2 | 文件 file1 比 file2 更老 |