一、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