解釋性語言乘凸,不需要編譯雏门,可以直接執(zhí)行。
vi xx.sh編輯腳本
#!/bin/bash ##用哪一種shell解析器執(zhí)行
each "hello world"
##注釋
sh xx.sh 執(zhí)行腳本
./ xx.sh 執(zhí)行腳本(管理員)
注:添加可執(zhí)行權(quán)限
chmod u+x xx.sh
語法
=兩邊不能空格
$xx 獲取變量xx的值
" " 解釋$等符號
' ' 不解釋轮听,直接輸出
export 將修飾的內(nèi)容變成全局變量
xx
獲取xx的返回結(jié)果
$?上一個命令退出的狀態(tài)碼
$$當前進程編號
$0當前腳本名稱
$n n位置的輸入?yún)?shù)
$# 參數(shù)個數(shù)
算數(shù)運算 expr (()) $[]
1+1 expr 1+1 兩邊帶空格 ((1+1)) $[1+1]
(1+1)/2 expr expr 1+1
/2 (((1+1)/2)) $[(1+1)/2]
---------if-else
if [ xx ]
then aa
elif [xxx]
then bb
else
cc
fi
-------三目+條件判斷
[ xx ] && aa || bb
&& = [ -a ] || =[ -o ]
[ -n"xx" ] xx字符長度為0 ,true
[-z"xx"] xx字符長度不為0 ,true
[ -lt ] 小于
[ -le ] 小于等于
[ -eq ] 等于
[ -gt ] 大于
[ -ge ] 大于等于
[ -ne ] 不等于
[ -d ] 是否為目錄
[ -f ] 是否為文件
[ -e ] 是否存在
-------while
while xx
do
aa
done
-------case
case $x in
aa)
echo "aa";;
bb)
echo "bb";;
*)
echo "other"
esac
--------for
for x in a b c
do
echo $x
done
for ((i=0;i<=3;i++))
do
each "$i"
done
-------函數(shù)
#!/bin/bash
#test.sh
./xx.sh ##引入其他腳本
xxx() {
return echo "$1" ##打印第一個參數(shù)
}
xxx 1 ##調(diào)用xxx