if语句的使用
if语句的的格式: if 【 expression 】 expression 和方括号([ ])之间必须有空格,否则会有语法错误。then statmentsfi或者:if 【 expression 】then statmentselse statmentfi
多条分支结构
或者:if 【 expression 】 thenstatmentselif 【 expression 】 注意用的是elifthenstatmentselif 【 expression 】thenstatmentselsestatments
a=12
b=13
echo "a的值为:${a}"
echo "b的值为:${b}"
if [ $a -gt $b ] #-gt代表大于 -lt代表小于 -ne不等于 -eq等于
thenecho "a的值比b大"
elseecho "a的值比b小"
fi
While循环:
until循环:
Shell日期格式:
修改日期格式:
cat标名行号
cat -n 文件名
cat忽略空行标明行号
cat -b 文件名
Shell修改时区
Linux修改系统时区
或者在配置文件/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 |
比如&#xff1a;
比较字符串a和b是否相等就写作&#xff1a;
if [ $a &#61; $b ]
判断字符串a是否为空就写作&#xff1a;
if [ -z $a ]
判断整数变量a是否大于b就写作&#xff1a;
if [ $a -gt $b ]
BASH中用于判断文件属性的操作符&#xff1a;
运算符 | 含义&#xff08; 满足下面要求时返回 TRUE &#xff09; |
-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 更老 |