Shell 腳本編寫指南

當您需要執(zhí)行一系列命令或自動化任務(wù)時,Shell 腳本是一種非常有用的工具。Shell 腳本是由一系列 Shell 命令組成的文本文件,可以在命令行或終端中運行。

格式

文件名以 myscript.sh 為后綴,文件中首行聲明了腳本使用的是 Bash。

#!/bin/bash

local_directory="/usr/share/nginx/docusaurus"

cd $local_directory

git pull

if [ $? -eq 0 ]; then
  echo "代碼拉取成功!"
else
  echo "代碼拉取失敗。"
fi

語法

定義變量

local_directory="/usr/share/nginx/myapp"

目錄切換

cd "/usr/share/nginx/myapp"

// 或者使用變量
cd $local_directory

變量引用前面加 $ 符號

信息輸出

echo "你要輸出的內(nèi)容"

接受輸入

read -s -p "請輸入密碼: " password
  • -s 參數(shù)用于隱藏用戶的輸入。用戶輸入的內(nèi)容存儲在 password 變量中,然后你可以在下面的執(zhí)行腳本中使用它。
  • -p 選項用于指定要顯示給用戶的提示消息(prompt)。

條件判斷

判斷上一條命令的執(zhí)行結(jié)果

if [ $? -eq 0 ]; then
  echo "代碼拉取成功!"
else
  echo "代碼拉取失敗。"
fi

$? 在 shell 腳本中表示上一個命令的退出狀態(tài)碼,當一個命令執(zhí)行成功時,它會返回退出狀態(tài)碼 0,失敗時即為非 0。因此,你可以使用 if [ $? -eq 0 ]; then 來判斷上一條命令
是否執(zhí)行成功。

判斷文件是否存在

file="/usr/local/nginx/tmp.conf"
if [ -e "$file" ]; then
  echo "File $file exists."
else
  echo "File $file does not exist."
fi

循環(huán)

for i in {1..5}; do
  echo "Iteration $i"
done

// 或者使用 while

while [ "$count" -lt 10 ]; do
  echo "Count: $count"
  ((count++))
done

函數(shù)

my_function() {
  echo "This is a function"
}
my_function

退出

# 表示成功
exit 0

# 表示發(fā)生了某種錯誤
exit 1

# 使用其他非零狀態(tài)碼表示不同類型的錯誤或情況
exit 2

注釋

# 需要注釋的內(nèi)容

執(zhí)行

需要授予腳本執(zhí)行權(quán)限

chmod +x myscript.sh

運行腳本

./myscript.sh
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容