Linux shell程式設計原理 03

2022-08-25 20:12:27 字數 2203 閱讀 4637

計算機只能識別二進位制指令

程式=指令+資料

根據服務的重心不同,我們分為面向過程程式設計,物件導向程式設計;

a) 面向過程:側重於指令的程式語言

b) 物件導向:側重於資料的程式語言

高階語言、超高階語言需要翻譯成計算機可讀的語言(二級制指令)

a) 解釋型:逐行翻譯,逐行執行(解釋一行、執行一行)shell、python

b) 編譯型:一次編譯,全部執行  c、c++、c#

a) 順序執行 : 一行一行的執行

b) 迴圈執行 : for、while、until

c) 選擇執行(分支): if、case

呼叫os(作業系統)的命令列,來實現所有功能;

沒有庫呼叫(區分python)

a) 命令**很重要**

b) 變數(全域性變數、區域性變數、本地變數、傳參)

c) 邏輯關係

/etc/shells – 檢視當前系統支援的shell程式

echo $shell – 檢視當前會話的shell程式

/etc/passwd – 制定了使用者預設支援的shell程式(/sbin/nologin)

a) bash命令來執行指令碼:

-n 檢視shell指令碼的邏輯錯誤(注意單詞的錯誤檢查不出來)

-x 逐行顯示執行的指令碼程式(方便排錯)

b) 授權: chmod u+x filename.sh   使用全路徑執行指令碼即可

---環境變數檢視:env

---檢視更詳細的環境變數:set

a) 數值型:

整型  int

浮點型 float

布林型 boolean

b) 字串:

普通字元及字串

陣列強型別語言: --- 數值必須被定義變數型別,才能進行處理或運算

弱型別語言: --- 程式語言可以自動識別變數型別

【*多型*】一種數值具有多個屬性,而最後使用的屬性取決於和他進行運算的資料

$1、$2 … $:執行指令碼命令後面傳入指令碼的資料,以空格為分隔符

$#   :統計傳參數量  $

$* :表示所有的傳參,以字串的形式進行輸出

$@ :表示所有的傳參,將所有的傳參以列表的形式進行輸出

name=value

通過declare定義變數型別

declare -i a=10 定義變數a為整型,value為10

declare -a b  定義陣列

a) 下劃線的方式指定變數名稱

b) 使用駝峰命名方式

在指令碼中,我們需要進行語句分支;就是做判斷;

判斷就是使用test命令來實現

a) test [option] file

b) [條件語句]

a) 數值比較選項:

-eq  等於

-ne  不等於

-gt  大於

-ge  大於等於

-lt  小於

-le  小於等於

b) 判斷選項:

-e  判讀檔案是否存在

-f  判斷是否為普通檔案

-d  判斷是否為目錄檔案

-l  判斷是否為鏈結檔案

-r -w -x   判斷是否具有 讀 寫 執行

c) 關聯選項:

-o  或

-a  與

!  非

d) 字串判斷:

=   判斷兩邊的字串是否相等

!=  不等於

-n   判斷字串是否存在,存在為真,不存在為假

-z    和-n相反 存在為假,不存在為真

與 &&    兩邊的命令,都為真,結果才是真

或 ||       兩邊的命令,一邊為真,就是真,同時為假,才是假

非 !=

這個邏輯運算子,前後對接的都是單獨存在的命令;

例子:[ $? -eq 0] && exit 0 || exit 1

1、let 1+1

let a=1+1

echo

$a2、expr

1*1expr

1 * 10

3、$[$

1+10

]    a=$[2+3

]    

echo

$a4、$(($

1/$2

))    a=$((3/2

))    

echo $a

linux shell 程式設計

bin bash comments your commands go here 首行中的符號 告訴系統其後路徑所指定的程式bash即是解釋此指令碼檔案的shell程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...

linux shell 程式設計

1 程式設計入門 shell的簡介。從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理...

Linux Shell 程式設計

檔案描述 shell 代號 dev stdin 標準輸入,一般指的是鍵盤輸入 dev stdout 標準輸出,一般指終端顯示器 dev stderr 標準錯誤,一般指終端顯示器 l輸出重定向 l輸入重定向 l追加重定向 l錯誤重定向 2 l輸出和錯誤同時重定向 應用例子 1.將 ls的結果輸出到檔案...