shell腳本知識點總結

個人理解:shell腳本就是把一些連續作用的linux命令集成在一個文件中,共同完成某項任務。

1、變量定義:

a="/ipaddata/logs/bmc"

b=·pwd·

· · 是Esc鍵下的波浪鍵, 放在裏面的內容是一個基本的linux命令,比如這裏的pwd就是現實當前目錄。

2、變量的使用:

通過 ${變量名}  得到變量的值,也可以直接  $變量名 來獲取變量值,比如  ${a}   ->   "/ipaddata/logs/bmc"  ${b}   ->  當前路徑

3、echo命令

echo是輸出語句,後接參數可以直接在界面輸出參數內容,如:

echo “123”  會在當前界面輸出123

*把內容輸出到某文件中的語句: 例如: echo “123”<<${a}/mytest.log   可以在指定路徑下生成mytest.log文件,並且把echo後面的參數寫到該文件中。

4、date命令

輸出系統日期:

date +“某種日期格式",比如:date +"%Y%m%d"   會輸出    20130105

此處的雙引號也可以省略, 但建議加上

5、shell腳本用#註釋

6、shell是一種函數式語言

函數定義:

func1(){
  ...
}

如果函數func1接受參數,也是這樣定義的,不會像java那樣把參數顯示的指定出來,

函數調用:

func1 param1 param2

方法名後面空格,然後是第一個參數, 再空格,第二個參數。

在函數體中,取第一個參數值用  $1  取第二個參數值用 $2,以此類推。

7、if else語句

shell中的if else格式如下:

if [判斷條件];
then
   如果條件成立執行這裏
else
   如果條件不成立執行這裏
fi

fi  和  if 對應, 表示一個if語句的結束,then中還可以繼續嵌套,嵌套時如果else後緊跟if,要寫成:

elif [判斷條件];
     then
        條件成立執行...
     else
        條件不成立執行...
這種語句不需要用fi來結束 elif,也不能這樣用,否則會造成語法錯誤。


 

 

8、vi編輯器:

%s/^M//g  去掉換行符號^M(常由保存格式不同引起)在linux系統中  ^M的打法:   按住ctrl+v+m

a   前光標後添加(追加),

i    當前光標位置添加(插入)

x    刪除當前光標下的字符,

dd    刪除一整行,

:x    退出編輯狀態並保存,

:q!   退出編輯狀態不保存,

$     光標跳到行末尾

shift+g   光標跳到文本末尾

注意,在每兩個不同的命令輸入前,最好按下ESC鍵,以免引起混亂

9、exit

exit是表示退出當前腳本,不再向下繼續執行,

exit相當於return ,表示某次調用的返回  或者是  執行某個命令的返回,exit 0表示調用成功,exit 1表示調用失敗

exit n 是對退出碼的設置  也就是  n=0時成功,n=非0時失敗。

exit不加任何參數表示直接退出,退出碼的值保持不變,保持最近一次設置

用 $? 取到最近一次的退出碼值。
 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章