以檔案形式存放批量的linux命令集合,該檔案能被shell解釋執行,這種檔案就是shell指令碼程式。通常由一些linux命令,shell命令,注釋和控制語句構成
第一行:指定用哪個程式來編譯和執行指令碼
#!/bin/bush 或 #!/bin/sh
注釋行:使用#號
* 變數名必須以字母或下劃線開頭,後面跟數字字母或下劃線,其他任何字元標誌變數名結束。
* 變數名關於大小寫敏感
* 等號兩邊不能有空格
* 如果要給變數賦空值,要加換行符
顯示變數值
echo $variable 或 echo $
清除變數
unset variable
顯示所有變數
set
環境變數又叫全域性變數,按照慣例需要大寫
* 可被所有的shell環境下訪問
* 如果父shell程序產生了子shell程序,那麼環境變數可被繼承並複製
位置參量:位置參量是一種特殊的內建變數,通常被shell指令碼用來從命令列接收引數,或被函式用來儲存傳遞給他的引數。
符號說明
$0當前指令碼的檔名
$1-s9
第一到第九個位置參量
$第10個位置參量,以此類推還有$…
$#位置參量的個數
$*一單字串顯示所有位置參量
$@未加雙引號與$*相同
$$指令碼執行的當前程序號
$!最後乙個後台執行的程序的程序號
$?顯示前面最後乙個命令的推出狀態,0代表沒有錯誤,其他值代表有錯誤
退出碼:任何命令進行時都將返回乙個退出狀態
通常會在關鍵步驟後判定$?,已確定關鍵步驟是否執行正常
if 判斷
語法:
if
[判斷語句]
;then
執行命令
fi
多重條件
if
[判斷語句]
;then
執行命令
else
執行命令
fi
更複雜的情況
if
[判斷語句]
;then
執行命令
elif
[判斷語句]
;then
執行命令
else
執行命令
fi
for迴圈
例項:
for var in 1 2 3 4 5
doecho
$done
num=10
s=0for
((i=
0;i<$))
do s=
$(($+$))
done
echo
$
while迴圈
語法
while
[condition]
do 執行命令
done
until
[condition]
do 執行命令
done
例項:從檔案中逐行讀取資料
#!/bin/bush
cat$
|while
read line
doecho
$done
linux下shell的基礎程式設計和高階程式設計
有起要注意空格等問題,這個一開始學的時候特別容易出錯,然後導致查了半天!1 helloworld.sh bin bash 使用 bin bash來解析指令碼 echo helloworld 2 變數.sh bin bash num 10name jack age 22 male echo num e...
Linux基礎 shell命令
都知道linux下shell命令很重要,但無奈使慣了windows的使用者接觸命令是在不感冒,不過慢慢來吧,凡事都得有乙個過程。學linux命令最好先了解一下編輯器,因為會涉及到系統檔案的配置編輯,linux用的最多的當屬vi,現在vi的改進版是vim,在最新的linux的版本下vi命令已經是vim...
Linux基礎 shell命令
都知道linux下shell命令很重要,但無奈使慣了windows的使用者接觸命令是在不感冒,不過慢慢來吧,凡事都得有乙個過程。學linux命令最好先了解一下編輯器,因為會涉及到系統檔案的配置編輯,linux用的最多的當屬vi,現在vi的改進版是vim,在最新的linux的版本下vi命令已經是vim...