一、Shell腳本基礎
Shell是一種腳本語言,可以直接在命令行中執行,也可以寫成腳本文件運行。Shell腳本主要是用來自動化執行一些操作,比如批量重命名文件、統計某個目錄下的文件大小等。
以下是一段簡單的Shell腳本,用來輸出Hello World:
#!/bin/bash echo "Hello World"
其中,#!/bin/bash是告訴系統用哪個解釋器來解釋這個腳本文件,echo “Hello World”表示輸出字元串Hello World。
Shell腳本中的變數可以定義,也可以直接使用系統環境變數。在使用變數前需要用$符號進行引用,如$HOME表示用戶的家目錄。
以下是一個將文件夾中的所有文件名轉化為小寫的Shell腳本:
#!/bin/bash
for file in *
do
mv "$file" "`echo $file | tr "[:upper:]" "[:lower:]"`"
done
其中的關鍵字for和do表示循環,mv命令是用來重命名文件的。
二、Shell腳本條件判斷
條件判斷是Shell腳本中很重要的一個部分,可以根據條件來做出不同的響應。
以下是一個判斷系統版本號是否大於等於7的Shell腳本:
#!/bin/bash
version=$(awk -F= '/^NAME/{print $2}' /etc/os-release | tr -d '"')
if [[ $version == *"CentOS Linux release 7"* || $version == *"CentOS Linux 7"* ]]; then
echo "System version is greater than or equal to 7."
else
echo "System version is less than 7."
fi
其中的關鍵字awk是用來獲取系統版本號的,if語句是用來判斷系統版本號是否大於等於7的。
三、Shell腳本函數
函數是Shell腳本中封裝邏輯的一種方式,可以方便地實現複雜的邏輯處理。
以下是一個用來判斷一個數是否為質數的Shell腳本函數:
#!/bin/bash
is_prime() {
n=$1
i=2
while [ $i -lt $n ]
do
if [ $((n%i)) -eq 0 ]; then
return 1
fi
i=$((i+1))
done
return 0
}
if is_prime 7; then
echo "7 is prime."
else
echo "7 is not prime."
fi
其中的is_prime函數是用來判斷一個數是否為質數的,調用時傳入需要判斷的數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/160027.html
微信掃一掃
支付寶掃一掃