1 算术运算
1.1 运算符
+, -, *, /, %取模(取余), **(乘方)
1.2 算术运算的语法格式
- let var=算术表达式
- var=$[算术表达式]
- var=$((算术表达式))
- declare –i var = 数值
- echo ‘算术表达式’ | bc
2 逻辑运算
- 与:
1 与 1 = 1
1 与 0 = 0
0 与 1 = 0
0 与 0 = 0
- 或:
1 或 1 = 1
1 或 0 = 1
0 或 1 = 1
0 或 0 = 0
- 非:
! 1 = 0 ! true
! 0 = 1 ! false
短路运算
- 短路与
第一个为0,结果必定为0
第一个为1,第二个必须要参与运算
- 短路或
第一个为1,结果必定为1
第一个为0,第二个必须要参与运算
- 异或:^
异或的两个值,相同为假,不同为真
3 练习
3.1 编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到 /root/etcYYYY-mm-dd中
#!/bin/bash
#
#*******************************************************************
#Author: Skye
#Date: 2019年 09月 04日 星期三 13:44:49 CST
#FileName: backup.sh
#Description: backup
#Copyright (C) 2019 All rights reserved
#*******************************************************************
echo Backup begins...
sleep 1
cp -av /etc/ /root/etc`date +%F`
echo Backup is already finished.
3.2 编写脚本/root/bin/nologin.sh和login.sh,实现禁止和允许普通用户登录系统
/root/bin/nologin.sh
#!/bin/bash
#
#*******************************************************************
#Author: Skye
#Copyright (C) 2019 All rights reserved
#*******************************************************************
touch /etc/nologin
/root/bin/login.sh
#!/bin/bash
#
#*******************************************************************
#Author: Skye
#Copyright (C) 2019 All rights reserved
#*******************************************************************
rm -rf /etc/nologin
3.3 编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值
#!/bin/bash
#
#*******************************************************************
#Author: Skye
#Copyright (C) 2019 All rights reserved
#*******************************************************************
df | tr -s ' ' % | cut -d% -f5 | grep [[:digit:]] | sort -n | tail -n 1