- Shell腳本命令的工作方式有兩種:交互式和批處理
- 交互式(Interactive):用戶每輸入一條命令就立即執行。
- 批處理(Batch):由用戶事先編寫好一個完整的Shell腳本,Shell會一次性執行腳本中諸多的命令。
如:查看當前所在工作路徑并列出當前目錄下所有的文件及屬性信息。
vim example.sh (下面是內容)
\#!/bin/bash
\#For Example By linuxprobe.com
pwd
ls -al
上面第一行腳本聲明**(#!)**告訴系統使用哪種Shell解釋器來執行腳本;
第二行的注釋信息**(#)**是對腳本的作用或一些警告信息;
第三、四行的就是我們平時執行的Linux命令。
Linux中Shell腳本接受參數的變量,$0對應的是當前Shell腳本程序名稱,$#對應的是總共有幾個參數,$\*對應的是所有位置的參數值,$?對應的是顯示上一次命令的執行返回值,而$1、$2、$3……則分別對應著第N個位置的參數值,如下圖:

如:vim example.sh
\#!/bin/bash
echo “當前腳本名稱為$0”
echo “總共有$#個參數,分別是$\*。”
echo “第1個參數為$1,第5個為$5。”
sh example.sh one tow three four five six (執行這個,輸出如下)
當前腳本的名稱example.sh
總共有6個參數,分別是one two three four five six。
第1個參數為one,第5個為five。
**條件測試語法的執行格式:測試語句格式:\[ 條件表達式 \]** **里面兩個均有一個空格**
按照測試對象來劃分,條件測試語句可以分為4種:
- 文件測試語句;
- 邏輯測試語句;
- 整數值比較語句;
- 字符串比較語句。
文件測試即使用指定條件來判斷文件是否存在或權限是否滿足等情況的運算符。
#### 文件測試所用的參數
運算符
作用
-d
測試文件是否為目錄類型
-e
測試文件是否存在
-f
判斷是否為一般文件
-r
測試當前用戶是否有權限讀取
-w
測試當前用戶是否有權限寫入
-x
測試當前用戶是否有權限執行
如:
\[ -d /etc/fstab \] (判斷/etc/fstab是否為一個目錄類型的文件)
echo $? (**顯示上一條命令執行后的返回值。如果為0,則目錄存在;如果非零,則目錄不存在**)
\[ -f /etc/fstab \] (判斷/etc/fstab是否為一般文件)
echo $? (如果為0,則代表文件存在,且為一般文件)
\[ -e /dev/cdrom \] && echo “Exist” (判斷/dev/cdrom是否存在,存在就輸出“Exist”)
\[ $USER = root \] || echo “user” (判斷系統環境變量USER當前登錄是否為管理員,不是就輸出user)
\[ ! $USER = root \] || echo “administrator”(判斷當前用戶是否為一個非管理員)
注:&&是前面的條件成立才執行;|| 是前面的條件不成立才執行;!取反。
\[ ! $USER = root \] && echo “user” || echo “root”
上面就是先判斷當前的登錄用戶是否為非管理員用戶。
#### 可用的整數比較運算符
運算符
作用
-eq
是否等于
-ne
是否不等于
-gt
是否大于
-lt
是否小于
-le
是否等于或小于
-ge
是否大于或等于
如:\[ 10 -gt 10 \] echo $? (得到1)\[ 10 -eq 10 \] echo $? (得到0)
如:判斷可用內存是否小于1024M,若小于則提示 “Insufficient Memory”內存不足。
free -m | grep Mem: | awk ‘{print $4}’(awk ‘{print $4}’這個是只保留第四列)
FreeMem=`free -m | grep Mem: | awk ‘{print $4}’`
\[ $FreeMem -lt 1024 \] && echo “Insufficient Memory”
#### 常見的字符串比較運算符
運算符
作用
=
比較字符串內容是否相同
!=
比較字符串內容是否不同
-z
判斷字符串內容是否為空
如:\[ -z $String \] echo $?
echo $LANG \[ $LANG != “en.US” \] && echo “Not en.US”
- 常用的RPM軟件包命令
- 常見的Yum命令
- Linux開機過程
- Systemd初始化進程服務的劣勢:
- system 與 system V init 的區別以及作用
- systemctl管理服務的啟動、重啟、停止、重載、查看狀態等常用命令
- systemctl設置服務開機啟動、不啟動、查看各級別下服務啟動狀態等常用命令
- 主流 Linux 系統選擇 Bash 解釋器作為命令行終端主要有以下 4 項優勢
- 常見執行Linux命令的格式:
- man命令中常用按鍵以及用途
- man命令幫助信息的接個歐以及意義
- 常用系統命令(10)
- 系統狀態檢測命令(8)
- 工作目錄切換命令(3)
- 文本文件編輯命令(9)
- 文件目錄管理命令(7)
- 打包壓縮與搜索命令(3)
- 輸入輸出重定向
- 管道命令符
- 命令行的通配符
- 常用的轉義字符
- 重要的環境變量
- Vim文本編輯器
- 編寫Shell腳本
- 流程控制語句
- 計劃任務服務程序
- 用戶身份與文件權限
- 文件權限與歸屬
- 文件的隱藏屬性
- 文件訪問控制列表
- su命令與sudo服務
- 存儲結構與磁盤劃分
- 使用RAID與LVM磁盤陣列技術
- iptables與firewalld防火墻
- 使用SSH服務管理遠程主機