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á)式要放在方括號之間,并且要有空格,例如 [b] 是錯(cuò)誤的,必須寫成 [
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ù)通過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