一、 簡單介紹
shell指的就是人機互動平台。常見的有ibm的ksh,hp的csh,windows的powershell以及linux的bash shell。
首先養成良好的習慣,通過#echo $shell命令可以查到預設shell。在指令碼的開頭加上宣告。
如圖,查詢出的預設shell為/bin/bash,所以一般在指令碼開頭加上一行如下宣告
#!/bin/bash
####其中,#!代表宣告,如果只有#,則代表注釋
單引號:遇到任何特殊字元都是原樣輸出
雙引號:遇到特殊字元會轉義後輸出
二、 常見功能
定義變數
dir=/backup/
dir=」/backup/」
a=100
a=100
b=200
c=a+b
定義完之後使用echo $c命令可以檢視具體變數的值。
$(command),可以引用命令執行的結果
例如:
cpu=
$(df -h|
grep -w / |
awk 『』 |
sed 『s/%//』)
if[ 「$cpu」 -ge 80 ]
;then
echo 「warning,cpu is full」
else
echo 「cpu is safe」
fi
******注意:if後面一定要加空格,不然會出現語法錯誤。
判斷命令執行的結果
command1 && command2
##如果命令1執行成功了則執行命令2,反之則不執行命令2
command1 || command2
##如果命令1執行失敗則執行命令2,反之則不執行命令2
或者用 echo $?來查詢命令是否執行成功,如果返回值是0代表成功,1-255代表失敗。
例如:
for num in
$(seq 1 10)
dohosts=192.168.6.$num
ping -c2 $hosts
&> /dev/null
if[ 「$?」 = 0 ]
;then
echo 「$hosts is up」
else
echo 「$hosts is down」
fidone
test表示式判斷
可以用main test去檢視test的所有用法,這裡舉兩個典型例子。
test -f passwd.1
##判斷普通檔案passwd.1是否存在
在指令碼中可以簡寫成[ -f passwd.1],或者用[! -f passwd.1]表示反向判斷。
if判斷
for迴圈
例子:
for num in
Linux學習之shell指令碼
第一行 bin bash 標記指令碼的直譯器 指令碼 bin bash echo hello world 賦予執行許可權 chmod x test.sh 執行指令碼 test.sh 定義變數時不需要 符號 td date y m d 1.變數名和符號之間不能有空格 2.首個字元必須為字母 3.中間不...
linux之shell指令碼學習
1,linux的shell種類眾多。shell常見種類如bourne shell usr bin sh或 bin sh bourne again shell bin bash c shell usr bin csh k shell usr bin ksh shell for root sbin sh...
Linux學習之Shell指令碼程式設計
一.shell指令碼定義 shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。實際上shell是乙個命令直譯器,它解釋由使用者輸入的命令並且把它們送到核心。shell翻譯成殼的意思,它是包裹在linux核心外層的,乙個可通過一系列的li...