Shell学习日记
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=12 b=13 echo "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 更老 |