LinuxMastery
•
•
By asdlkfj
LinuxMastery 20: Shell Script 基礎入門
將指令串成程式
當你需要依序執行三個指令,或者需要判斷「如果檔案存在才執行...」,你就需要寫 Shell Script。它不需要編譯,副檔名通常是 .sh。
核心語法詳解
Shebang:
腳本的第一行必須是#!/bin/bash,告訴系統用哪個解釋器來執行。變數:
NAME="Hank" echo "Hello, $NAME"注意:等號兩邊不能有空格。
條件判斷 (if):
if [ -f "/etc/hosts" ]; then echo "檔案存在" else echo "檔案不存在" fi注意:
[和]內部必須有空格。執行腳本:
先給予執行權限:chmod +x script.sh
然後執行:./script.sh
實戰範例:簡單的備份腳本
#!/bin/bash
# 定義備份目錄與日期
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
# 建立備份目錄 (如果不存在)
mkdir -p $BACKUP_DIR
# 打包 /var/www/html
echo "Starting backup..."
tar -czf $BACKUP_DIR/web_$DATE.tar.gz /var/www/html
# 檢查是否成功 ($? 為上個指令的回傳值,0 代表成功)
if [ $? -eq 0 ]; then
echo "Backup Success!"
else
echo "Backup Failed!"
fi
實戰心法
寫 Script 是運維自動化的起點。建議養成良好習慣:多寫註解、變數名稱要清楚、並檢查每個關鍵指令的執行結果。隨著能力提升,你可以結合 awk, sed 處理更複雜的邏輯,甚至用 Script 呼叫 AWS CLI 來管理雲端資源。