一、shell的特點
一種高階程式語言,有變數、關鍵字、條件控制語句,如if、case、while、for這些語句。有自己的語法結構。
二、1.檢視系統使用的shell: echo $shell
2.檢視shell的位置
cd/bin
三、執行shell指令碼的方法
1、輸入定向到shell指令碼:bash < 指令碼名
四、shell語法
1、特殊字元用法
星號*:匹配任意字元的出現
方括號:匹配括號內所限定的任何乙個字元
雙引號」:雙引號括起來的字元作為普通字元對待;
例:echo 「my name is `pwd`」
`pwd`表示命令替換,輸出當前目錄
echo 「my home is $home」
$home表示變數替換,輸出home目錄
echo 「file*.?」
原樣輸出普通字元
單引號』:單引號括起來的字元都作為普通字元。
用「\」可以消除單引號的特殊含義。
倒引號``:命令替換符,被倒引號引起來的字串shell解釋命令列
例:today=`date`
echo today is $today(此處today是變數)
注釋#:shell將#看做注釋符號,忽略#後的字元
2、定義變數
a. 變數名可以由數字,字元和下劃線組成,但是變數名只能由字元和下劃線開頭,而不能是數字。
b. shell變數沒有儲存類和型別的限制,可以邊定義邊使用
c. 區分大小寫
d. 變數賦值
a) 變數名=字串
x=myshell
echo $x
b) 賦值號倆邊沒有空格 3、
從鍵盤讀入資料
a. 利用read
命令b.
read 變數1 變數2
注意:如果變數個數與輸入資料個數一致,則一一對應賦值,如果變數個數大於輸入資料,則從開始一一對應,知道輸入的最後乙個,剩下的沒有對應的變數為空。如果變數個數小於輸入個數,則一一對應後剩下輸入資料全部賦給最後乙個變數 4、
輸入輸出命令
echo -e
「.......\c
」不換行
echo -e
「.......\f」進紙
echo -e
「...\t....
」錶跳格
echo -e
「.......\n」換行
echo -n
「.........
」禁止換行
-e 解釋轉義字元 5、
shell系統變數
$0:當前程式名稱
$n(1-9):$1 表示第乙個引數,$2 表示第二個引數,以此類推
$#:命令列引數的個數,即傳遞給程式的總的引數數目
$?:上乙個**或者shell程式在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$*:以「引數1 引數2 ... 」 形式儲存所有引數,即傳遞給程式的所有引數組成的字串 6、
算數運算命令
a. let命令(
當表示式中有shell的特殊字元時,必須用雙引號將其括起來)
a=1
b=2
let c=a+b
echo $c
b. expr命令(運算子左右都有空格)
expr 10 + 10
expr 20 / 5
expr $a + $b
說明:字元*(乘)在shell中有特殊含義,因此他們的前面必須有轉義字元「\」
如:expr 2 \* 5
當有變數參與運算時,需要在變數名前面加「$」
如:a=11
expr $a \% 2 7、
控制結構
a. if語句
if…then…fi控制結構
if [ condition ]
then
commands …
fiif…then…else控制結構:
if [ condition ]
then
true - commands
else
false - commands fi
if…then…elif控制結構:
if [ condition_1 ]
then
commands_1
elif [ condition_2 ]
then
commands_2 …
else
commands_n fi
if語句必須用fi結束
條件外面的方括號[ ]必不可少,條件前後必須加空格。
b. 條件測試
test 語句(可以代替if的方括號)
test是shell內部命令,它計算引數表示式的值為真還是為假。如果表示式為真,test返回0,否則,返回非0值。
if條件的一些判定大小命令
-eq:等於
-lt:小於
-le:小於等於
-gt:大於
-ge:大於等於
-ne:不等於
if條件邏輯命令
-a;相當於&&,「且」
-o:相當於||,「或」
c. 迴圈語句
while迴圈:while - do - done結構
while [ condition ] do
commands
done
until迴圈:until - do - done 結構
until [ condition ] do
commands
done
for迴圈:for - in - done結構
for variable in list - of - values do
commands
done
for ((條件1; 條件2; 條件3)) do
命令表done
shell程式設計總結
一 簡單shell程式示例 在乙個檔案中輸入,假設檔名為ex1 cat ex1 date pwd執行此程式時,輸入的命令則會實現 出現日期以及當前的路徑 二 建立shell指令碼 建立乙個shell指令碼可以利用編輯器vi進行 三 編寫內容 例如 echo hello word 但如果想要執行出來則...
shell程式設計總結
shell程式設計 shell常用萬用字元 匹配0個或多個字元 匹配任意乙個字元 list 匹配list中的任意單一字元 list 匹配出list中的任意單一字元以外的字元 c1 c2 匹配c1 c2中的任意單一字元 string1,string2,匹配string1,string2 或更多 其一字...
shell程式設計總結
shell程式設計中,使用變數無需事先宣告,同時變數名的命名須遵循如下規則 首個字元必須為字母 a z,a z 中間不能有空格,可以使用下劃線 不能使用標點符號 不能使用bash裡的關鍵字 可用help命令檢視保留關鍵字 需要給變數賦值時,可以這麼寫 變數名 值要取用乙個變數的值,只需在變數名前面加...