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