sell 腳本的一些應用

 

Shell腳本

 

      Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的。但是它比Windows下的批處理更強大,比用其他編程程序編輯的程序效率更高

     Shell就是一個命令行解釋器,它的作用就是遵循一定的語法將輸入的命令加以解釋並傳給系統。它爲用戶提供了一個向Linux發送請求以便運行程序的接口系統級程序,用戶可以用Shell來啓動、掛起、停止甚至是編寫一些程序。 Shell本身是一個用C語言編寫的程序,它是用戶使用Linux的橋樑。Shell既是一種命令語言,又是一種程序設計語言(就是你所說的shell腳本)。作爲命令語言,它互動式地解釋和執行用戶輸入的命令;作爲程序設計語言,它定義了各種變量和參數,並提供了許多在高階語言中才具有的控制結構,包括循環和分支。它雖然不是 Linux系統內核的一部分,但它調用了系統內核的大部分功能來執行程序、創建文檔並以並行的方式協調各個程序的運行。

1、  腳本命名

*.sh

2、命名變量

   1)自定義變量

Name=zhangsan

2)#env

大寫字母

3)$

#echo $name

#echo $PATH

4)作用域

默認自定義變量----局部

通過調用多個shell進程

打開shell-----父

     再次打開shell----子

     #env

        SHLVL==shell  level

#export

5){}

 #name=zhangsan

#echo{$name}isastudent

6)>  >>輸出

<  << 輸入

<<:指定終止的符號

#cat  <&0 表示接收來自鍵盤的輸入

#cat  <file 表示接收來自文件的輸入

at  <file –m

系統在接收輸入輸出內容存在方向

輸入輸出描述符:

輸入:鍵盤      0

輸出:屏幕      1

錯誤輸出:分離  2

臨時符號---起過渡作用3-9

/dev/null-----虛擬出來的一個設備(黑洞)

String = <<<HELLO

7)read---從鍵盤讀取變量的值

注意當變量的數量和值的數量不一致的情況

#read 變量名

8)常見參數

$?-----表示顯示最近一條命令的執行狀態

狀態分類:

  退出狀態0:表示成功

  退出狀態1:表示失敗

條件:

 test  操作數1 操作符  操作符2

test  1>2

操作符:

  數值類型數據比較

  字符串類型數據比較

  文件類型數據比較

[]:代替test

注意括號和命令之間要加空格

[  -x  file  ]

. 腳本文件

Sh 腳本文件

./腳本文件

雙引號:解釋變量

單引號:當做字符串顯示

$#:參數的總的數量

$*:顯示所用參數

$1:各個參數

$9:

Shift  n :將參數向前移位n位

9)流程控制結構

If 條件

Then

  執行命令

Elif 條件

Then

  。。。

Else

 。。。

Fi

 

File5.sh

 執行命令的狀態也可以當做條件

$?----

   內核通過接受命令退出時返回的數字,判斷是否成功

   Exit 100

 

測試接受參數的

  如果接受的參數小於三個,提醒。。。

  如果接受的參數大於三個,顯示參數

 

接受參數可以當條件

環境變量也可以當條件

   如果是root身份登錄,提示。。。

如果不是root,提示。。。

 

Case語句:

  語法

   Case 值 in

 模式1)

      命令1

      。。。

      。。。

        ;;

模式2)

      命令1

      。。。

      。。。

        ;;

。。。

。。。

Esac

提醒:模式裏可以使用通配符

Shell腳本是給內核看

 

For循環

  語法:

   For  變量名  in  列表

  Do

    命令

Done

 

 

Until

   Until  條件

 Do

     命令

 Done

While

  While 條件

  Do

     命令

  Done

 

 

Break

Continue

#!/bin/bash

While :

Do

  Echo –n “please input number 1 to 5”

  Read num

  Case $num in

  1|2|3|4|5)

     Echo “ok”

;;

  *)

   Echo “error”

   Break

   ;;

Esac

Done

Break:終止當前命令

Continue:終止當前次循環

 

計算:

Expr  表達式

$((…..表達式…….))

 

函數:定義 使用

應用

 

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