- Shell就是一個命令行解釋器 ,它的作用是解釋執行用戶的命令,用戶輸入一條命令,Shell就解釋執行一條,這種方式稱為交互式(Interactive)。
- Shell還有一種執行命令的方式稱為批處理 (Batch),用戶事先寫一 個Shell腳本 (Script),其中有很多條命令,讓Shell一次把這些命令執行完,而不必一條一條地敲 命令。Shell腳本和編程語言很相似,也有變量和流程控制語句,包括循環和分支。但Shell腳本是解釋執行的,不需 要編譯,Shell程序從腳本中一行一行讀取并執行這些命令,相當于一個用戶把腳本中的命令一行一 行敲到Shell提示符下執行。作為程序設計語言,它雖然不是 Linux系統內核的一部分,但它調用了系統內核的大部分功能來執行程序、創建文檔并以并行的方式協調各個程序的運行。
Unix系統中常見的shell有:sh、csh、ksh、tcsh、bash
3 腳本的創建過程:
寫出自己的第一個Shell腳本:
(1)理清任務:——自然語言:步驟拆分、順序化整理。
案例需求:
–新建一個名為mtd的本地用戶。
–此用戶能夠正常登錄,其密碼為654654。
(2)編寫可執行文件:——腳本語言:各步驟如何實現。
第一、二、……步依次如何實現?
–使用useradd、passwd命令完成相應的任務步驟
–自然語言–>可執行的命令行
(3)完善腳本:——界面友好/結構規范/代碼的優化。
腳本的優化目標:
–界面友好、易讀懂、易使用。
–符合規范、方便協作、移植以及代碼的重用。
–代碼簡潔、執行效率高。
完成上面的三步,可以得到一個粗糙的shell腳本:
4 shell系統變量:
‘$#‘ // 保存程序命令行的數目
‘$0‘ // 當前程序名
‘$*‘ // 以(“$1 $2…”)的形式保存所有輸入的命令行參數
‘$@‘ // 以(“$1” “$2″…)的形式保存所有輸入的命令行參數
‘$n‘ // $1 為命令行的第一個參數,$2為命令行的第二個參數,依次類推
shell環境變量:
PATH // 決定shell將到哪些目錄中尋找命令或程序
HOME // 當前用戶主目錄的完全路徑名
HISTSIZE // 歷史命令記錄數
LOGNAME // 當前用戶的登錄名
HOSTNAME // 主機的名稱
SHELL // shell路徑名
LANGUGE // 語言相關的環境變量,多語言可以修改此環境變量
MAIL // 當前用戶的郵件存放目錄
PWD // 當前工作目錄的絕對路徑名
環境變量命令:
echo $HOME // 顯示變量
export WELCOME=”HE” // 設置變量
env // 查看所有變量
set // 查看本地變量
unset // 刪除變量
env | grep WELCOME // 查詢變量
shell用戶變量:
linux下支持用戶自定義變量,使用’ = ‘進行賦值,即 變量名=變量值
原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/85451