shell是一個用C語言編寫的程序,是一種命令語言,是一種服務器語言。
變量
- 定義:name="shangsan"
- 銷毀:unset name
- 打?。篹cho $name 或者 echo ${name}
- 定義常量:readonly Pi=3.14
定義變量的時候,“=”兩邊不能有空格;變量被銷毀后不能再使用。
注意:
在shell中,加單引號的字符不會被解析;
加雙引號的字符,特殊符號不會被解析,如:$,\;
使用反引號,會作為命令使用。
變量分類
- 本地變量
腳本文件中的變量。 - 環(huán)境變量
整個系統(tǒng)都可以使用的變量。
a. 家目錄下的隱藏文件.bashrc
b.將export PATH=$PATH:腳本的路徑
c.source ~/.profile 讓所有文件生效 - 位置變量
$0:表示腳本名字
$1~9:傳遞給腳本的參數
$*:匹配到的所有參數 - 特殊變量
$#:傳遞給腳本的參數個數
$?:返回上次執(zhí)行命令的結果,0表示成功,其他表示錯誤
數值計算
a=1
let a+=1
#((a+=1))
echo $a
分支語句、循環(huán)
- 比較符號
-lt 小于
-le 小于等于
-gt 大于
-ge 大于等于
-eq 等于
-ne 不等于
if [ 1 -lt 3 -a 2 -lt 3 ];then
echo "ok"
fi
if [ 1 -lt 3 ] && [ 2 -lt 3 ];then
echo "ok2"
fi
if [ ! 1 -gt 3 ];then
echo "ok3"
fi
- 邏輯符號
-a 邏輯與,可以使用&&
-o 邏輯或,可以使用||
! 邏輯非
##分支1
if [ 1 -lt 2 ];then
echo "ok"
fi
if test 1 -lt 2;then
echo "ok"
fi
##分支2
if [ 1 -gt 2 ];then
echo 1
elif [ 3 -gt 2 ];then
echo 2
else
echo 3
fi
##分支3
read -p "please input a character:" ch
case $ch in
[a-z])
echo "xxx"
;;
[0-9])
echo "number"
;;
*)
echo "other"
;;
esac
if語句中,若使用[],則必須要注意“[“右邊加一個空格,“]”左邊加一個空格
a=(1 2 3)
#for x in ${a[*]} #寫法1
#for x in 1 2 3 #寫法2
#for x in /etc/* #寫法3
for x in {1..5} #寫法4
do
echo $x
done
總結:shell也是一門語言,一些語句的寫法與用法大都與Python大同小異。學習一門語言之前,先要從掌握基礎開始,此次就是多練習,才算是入門。