shell:俗稱操作系統的"外殼",就是命令解釋程序。
是用戶與Linux內核之間的接口。
是負責與用戶交互,分析、執行用戶輸入的命令,並給出結果或出錯提示。
每個用戶賬號創建時都會指定一個shell。當用戶使用該賬號注冊成功,便會馬上執行。
root賬號的shell提示符是#號。
shell種類:
ash:占用資源最少的shell。
bash:默認使用,內部命令一共用40個。
ksh:共42條內部命令,與商業版ksh完全兼容。
csh:linux較大的內核,C語言寫成。tcsh就是csh,它指向/bin/tcsh這樣的一個shell。
zsh:最大的shell之一,84個內部命令。
查看用戶指定的shell:cat /etc/passwd。
命令顯示的內容中,每一行是用戶的信息。信息末尾就是指定shell類型。比如/sbin/nologin,這是一個假shell,表示該用戶無法登錄;/sbin/bash,表示用戶登錄後使用bash。
修改用戶指定shell的方法:
Shell變量:用於定制用戶本身的工作環境,可保存有用的信息使系統獲知用戶相關設置。
按作用分:環境變量和本地變量。本地變量只限於一次會話。
查看環境變量:set命令。
定制或設置變量值:set 變量名=變量值
Shell腳本:將一系列的命令保存在一文件內,可以一次執行該系列命令。
執行腳本文件的方法:
如果要設定腳本文件執行時的shell,可以在腳本文件開頭這樣寫:
#!/bin/bash
/etc/profile:環境變量文件,所有的環境變量都在裡面設置,該文件會在用戶登錄時自動執行。
/etc/bashrc: bash shell環境變量文件,該文件只會在用戶登錄時使用的是bash shell才會自動執行。
~/.bash_profile:用戶環境變量文件,當前用戶登錄時才會執行。
~/.bashrc:同上。
腳本命令:
shift:用於將腳本參數值向後一位傳遞。
循環控制:
For i in 1 2 3
do
…..
done
while <判別命令>
do
….
done
until <判別命令>
do
….
done
條件測試:test命令
test –e [文件名]:檢查文件名是否存在;
-x [文件名]:檢查是否為可執行文件;
-f [文件名]:檢查文件是否存在,並為普通文件;
-L [文件名]:是否為硬鏈接文件
-d [文件名]:是否為目錄;
-nt:前者比後者是否新。示例:test file1 -nt file2
判斷兩整數:
-eq:兩值相等;
-ne:兩值不相等 ;
-lt:小於;
-gt:大於;
-le:小於等於;
-ge:大於等於;
判斷字串:
–z string:是否空字串;
-n string:是否不為空;
==:是否相等;
!=:是否不相等;
shell預設參數:
$0預設的參數值為腳本名稱;
第1個參數為$1,第2個參數為$2……
特殊的參數:
$@:包含所有從$1開始的參數值,空格相隔。
$#:包含的參數個數。
注意:shift命令能對以上特殊參數造成值的變化。
http://xxxxxx/Linuxjc/1175550.html TechArticle