用於運維中自動化操作。一般操作人少可以邏輯寫簡單點。
shell變量
shell是弱語言,所以變量直接賦值。A=aaa
默認是字符串類型。
想要其它類型則要用declare
聲明。
-
給變量設置類型屬性
+
取消變量的類型屬性
-a
聲明數組
-i
聲明Integer類型數據
-p
查看變量類型
-r
設爲只讀類型
-x
設爲環境變量'export'相當於'declare -x'
aa = 11
bb = 22
declare -i cc = $aa + $bb
shell運算符
cc = $(expr $aa + $bb)
cc = $(( $aa + $bb))
cc = $[ $aa + $bb]
if…else…判斷
if 條件判斷
then 執行語句
else 執行語句
fi
if [[ $aa = "" ]] then
echo "this is true"
else
echo "this is false"
fi
if裏判斷條件
-z
String長度爲0則真
-x
用戶可執行爲真
具體請查看
for 循環
for 變量名 in 要遍歷的列表
do
循環語句
done #結束循環
for i in $List
do
echo i
done
pushd和popd
pushd 用於把目錄 加入到棧中,並切換到該目錄。(相當於進入到執行目錄中)
popd 用於刪除目錄 棧中的記錄
#啓動tomcat
pushd . >/dev/null 2>&1
cd tomcat/bin
nohup ./start.sh > /dev/null 2>&1 &
sleep 1
popd >/dev/null 2>&1
> /dev/null 2>&1 &
> /dev/null
標準信息重定向到空文件(表示不輸出)
2>&1
錯誤輸出重定向到標準輸出
pgrep
-u
通過程序名字查詢pid
-l
列出進程名字和pid
-n
進程終止 pid