一、用變數存儲重複使用的字元串
#!/bin/bash # 使用變數存儲重複使用的字元串 # 不使用變數的寫法 echo "Linux is a great OS." echo "I love Linux." echo "However, sometimes it can be frustrating." # 使用變數的寫法 osname="Linux" echo "$osname is a great OS." echo "I love $osname." echo "However, sometimes $osname can be frustrating."
在shell腳本中,有些字元串可能需要在多個地方重複使用,為了避免每個地方都寫一遍,可以使用變數來存儲這些字元串。
二、使用函數封裝重複的代碼片段
#!/bin/bash # 使用函數封裝重複的代碼片段 # 不使用函數的寫法 echo "Starting backup..." rsync -avz --exclude '*.log' /data/backup/ user@backup-server:/backup/ echo "Backup finished." echo "Starting archive..." tar -czf /data/archive.tgz /data/archive/ echo "Archive finished." # 使用函數的寫法 function backup_files { echo "Starting backup..." rsync -avz --exclude '*.log' /data/backup/ user@backup-server:/backup/ echo "Backup finished." } function archive_files { echo "Starting archive..." tar -czf /data/archive.tgz /data/archive/ echo "Archive finished." } backup_files archive_files
在shell腳本中,有些代碼片段可能需要在多個地方重複使用,為了避免代碼冗餘,可以使用函數來封裝這些代碼片段。
三、使用if語句進行條件判斷
#!/bin/bash # 使用if語句進行條件判斷 # 判斷文件是否存在 if [ -e /path/to/file ]; then echo "File exists." else echo "File not found." fi # 判斷變數是否為空 if [ -z "$variable" ]; then echo "Variable is empty." else echo "Variable is not empty." fi
if語句是shell腳本中進行條件判斷的基本語句,可以用來判斷文件是否存在、變數是否為空等等。
四、使用for循環進行重複操作
#!/bin/bash # 使用for循環進行重複操作 # 循環遍曆數組 names=("Alice" "Bob" "Charlie") for name in "${names[@]}"; do echo "Hello, $name!" done # 循環遍曆數字 for i in {1..10}; do echo "$i" done
for循環是shell腳本中進行重複操作的基本語句,可以用來循環遍曆數組、循環遍曆數字等等。
五、使用管道符號進行數據流處理
#!/bin/bash # 使用管道符號進行數據流處理 # 查找某個目錄下佔用空間最大的10個文件 du -h /path/to/dir | sort -hr | head -n 10 # 統計某個日誌文件中各個HTTP狀態碼的出現次數 cat /var/log/nginx/access.log | awk '{print $9}' | sort | uniq -c | sort -rn
管道符號可以將一個命令的輸出作為另一個命令的輸入,可以用來進行數據流處理,比如查找某個目錄下佔用空間最大的文件、統計某個日誌文件中各個HTTP狀態碼出現的次數等等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/190368.html