(1)shell是使用者與核心進行互動操作的一種介面,目前最流行的shell稱為bash shell
(2)shell也是一門程式語言《解釋型的程式語言》,即shell指令碼
(3)乙個系統可以存在多個shell,可以通過cat /etc/shells命令檢視系統中安裝的shell,不同的shell可能支援的命令語法是不相同的
(1)第一種:輸入指令碼的絕對路徑或相對路徑。首先要賦予+x許可權
/root/helloworld.sh
./helloworld.sh
或者,不用賦予+x許可權,而用直譯器解釋執行
sh helloworld.sh
(2)第二種:bash或sh +指令碼
sh /root/helloworld.sh
sh helloworld.sh
(3)第三種:在指令碼的路徑前再加」. 「
. /root/helloworld.sh
. ./helloworld.sh
(4)區別:
第一種和第二種會新開乙個bash,不同bash中的變數無法共享
(1)shell變數概述:
linux shell中的變數分為「系統變數」和「使用者自定義變數」,可以通過set命令檢視那系統變數
(2)系統變數:
$home、$pwd、$shell、$user等等
(3)變數定義1:
(4)變數定義2:
(5)將命令的返回值賦給變數
(6)shell中的特殊變數
(7)$*與$@區別
(1)格式:expr m + n 或$((m+n)) 注意expr運算子間要有空格
(2)計算(2+3)*4:分步計算
s=`expr 2 + 3`
expr $s \* 4
(3)計算(2+3)*4:一步完成計算
expr `expr 2 + 3
` \* 4
echo `expr \`expr 2 + 3\` \* 4
`//或
$(((2+3)*4))
(1)第一種:
#語法
for n in12
3doecho
$ndone
#執行效果
[root@cent01 ~]# for n in 1 2 3
> do
> echo
$n> done12
3
#語法
for n in12
3; do
echo
$n; done
#執行效果
[root@cent01 ~]# for n in 1 2 3;do echo $n;done12
3
#語法
for n in ; do
echo
$n; done
#執行效果
[root@cent01 ~]# for n in ; do echo $n; done12
3
(2)第二種:
#語法
for ((i = 0; i <= 5; i++))
do echo "welcome $i times"
done
#執行效果
[root@cent01 ~]# for((i=0;i<=5;i++))
> do
> echo "welcome $i times"
> done
welcome 0
times
welcome 1
times
welcome 2
times
welcome 3
times
welcome 4
times
welcome 5
times
#語法
for ((i = 0; i <= 5; i++)); do echo "welcome $i times"; done
#執行效果
[root@cent01 ~]# for ((i = 0; i <= 5; i++)); do echo "welcome $i times"; done
welcome 0
times
welcome 1
times
welcome 2
times
welcome 3
times
welcome 4
times
welcome 5
times
(1)第一種:
#語法
while expression
docommand
…done
(2)第二種:
#語法
i=1while ((i<=3))
doecho
$ilet i++
done
#效果[root@cent01 ~]# i=1
[root@cent01 ~]# while((i<=3))
> do
> echo
$i> let i++
> done12
3
=字串比較
-lt 小於
-le 小於等於
-eq 等於
-gt 大於
-ge 大於等於
-ne 不等於
-r 有讀的許可權
-w 有寫的許可權
-x 有執行的許可權
-f 檔案存在並且是乙個常規的檔案
-s 檔案存在且不為空
-d 檔案存在並是乙個目錄
-b檔案存在並且是乙個塊裝置
-l 檔案存在並且是乙個鏈結
(1)語法:
[ function ] funname [()
]function
start
() / function
start / start
()
(2)注意:
a、必須在呼叫函式地方之前,先宣告函式,shell指令碼是逐行執行。不會像其它語言一樣先預編譯
b、函式返回值,只能通過$? 系統變數獲得,可以顯示加:return 返回,如果不加,將以最後一條命令執行結果,作為返回值。 return後跟數值n(0-255)
shell指令碼基礎
執行shell指令碼有兩種方法 1 作為可執行程式 將上面的 儲存為 test.sh,並 cd 到相應目錄 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼 注意,一定要寫成 test.sh,而不是 test.sh,執行其它二進位制的程式也一樣,直接寫 test.s...
shell指令碼基礎
shell定義 shell是命令解析器,將使用者的輸入的指令轉化為機器可以執行的程式。和c語言不同,指令碼有自己的語法。比較常用的格式是 bin bash或者 bin sh 如 這是乙個判斷輸入字元型別的程式 bin bash read key case in a z echo upperlette...
shell 指令碼基礎
bin bash 判斷172.40.51.0網段有多少是開關機狀態 x 0y 0 for i inseq 254 doping c1 i0.1 w1 172.40.51.i if eq 0 then echo 172.40.51.i is up let x else echo 172.40.51.i...