shell腳本語法

shell文件創(chuàng)建

文件開始需要有標(biāo)識行:

#!/bin/sh

變量

定義變量時(shí),變量名不加美元符號($),如:

variableName="value"

注意,變量名和等號之間不能有空格,這可能和你熟悉的所有編程語言都不一樣。

使用變量
使用一個(gè)定義過的變量,只要在變量名前面加美元符號($)即可,如:

your_name="mozhiyan"
echo $your_name
echo ${your_name}

使用 unset 命令可以刪除變量。語法:

unset variable_name

使用 readonly 命令可以將變量定義為只讀變量,只讀變量的值不能被改變。
下面的例子嘗試更改只讀變量,結(jié)果報(bào)錯(cuò):

#!/bin/bash

myUrl="http://see.xidian.edu.cn/cpp/shell/"
readonly myUrl
myUrl="http://see.xidian.edu.cn/cpp/danpianji/"

字符串替換

${變量/查找/替換值} 一個(gè)“/”表示替換第一個(gè),”//”表示替換所有,當(dāng)查找中出現(xiàn)了:”/”請加轉(zhuǎn)義符”/”表示。

r="origin/xzt/bugfix_alpha/origin/haha"
# 替換第一個(gè)origin/為空, 輸出:xzt/bugfix_alpha/origin/haha
r=${r/origin\//}
# 替換所有origin/為空,輸出:xzt/bugfix_alpha/haha
r=${r//origin\//}

運(yùn)算符

文檔:https://wiki.jikexueyuan.com/project/shell-tutorial/shell-operator.html

** 注意:條件表達(dá)式要放在方括號之間,并且要有空格,例如 [a==b] 是錯(cuò)誤的,必須寫成 [ a ==b ]。**

if else

# if后面必須要有空格,[]內(nèi)部兩邊必須要有空格
if [ a ]
then
  echo "true"
else
  echo "false"
fi

for

for v in {1..5}
do
    echo "Hello, Welcome $v times"
done
for((i = 1; i <= 5; i++))
do
    echo "Hello, $i"
done

命令參數(shù)

獲取命令參數(shù)通過0(命令名稱),1(第一個(gè)參數(shù)),$2(第二個(gè)參數(shù))來獲取。

./clean_branch xzt/hhh

# clean_branch全路徑
echo $0
# xzt/hhh
echo $1

讀取用戶輸入

# -p: 提示, command: 輸入的參數(shù)變量,會等待輸入
read -p "確定是否執(zhí)行刪除,確認(rèn)執(zhí)行輸入Y,否則輸入N:" command
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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