第四章 第一節 shel語句 3 21

2021-08-17 08:40:05 字數 2567 閱讀 7099

一、算術運算:

五種格式:

=兩邊不加空格,+兩邊加空格    c=$(expr $a + $b)

c=`expr $a + $b`   反引號

=兩邊不加空格,+兩邊不加空格    

let c=$a+$b

c=$[$a+$b]

c=$(($a+$b))

二、執行指令碼:

(1) chmod +x 指令碼名

./指令碼名

(2) sh ./指令碼名

(1)(2)-------  執行指令碼前後,都不能執行指令碼變數

(3)source 指令碼名

-------  隨時可以執行指令碼變數

三、變數表示式

1、條件判斷命令   test

test n1 -引數 n2(-引數 表示式)  真返回0;假返回1

(1)整數測試

格式:test 1 -eq 4        echo $?

[ 1 -eq 4 ]    ------   與 1、4 之間有空格

-eq:測試兩個整數是否相等

-ne:不相等

-gt:大於

-lt:小於

-ge:大於或等於

-le:小於或等於

(2)檔案測試

-e:測試檔案是否存在

-f:存在且是普通檔案

-d:存在且是目錄

-s:存在且位元組數大於0

-r:存在且可讀

-w:存在且可寫

-x:存在且可執行

(3)字串測試(最好寫兩個中括號[[  ]])

test s:字串s非空

test s1 = s2:字串s1等於s2

test s1 != s2:字串s1不等於s2

test -z:字串長度為0,即為空串

test -n:字串長》0

> :如果str1的字母順序比str2大,則返回真

< :如果str1的字母順序比str2小,則返回真

(4)其它引數

-a:邏輯與,兩個都正確,返回true

-o:邏輯或,有乙個正確,返回true

!:邏輯非

read 變數1 [變數2...]     -p:指定讀取值時的提示符;

例:read -p "please intput a num:" num(引號後面+變數名時,要有空格)

可以從鍵盤上讀取多個變數的值,使用者輸入資料時,以空格或者tab鍵作為分隔。

?如果輸入的資料個數不夠,則從左到右對應賦值,沒有輸入的變數為空;

?如果輸入的資料個數超了,則從左到右對應賦值,最後乙個變數被賦予剩餘的所有資料。

四、控制流程

1、分支結構:

(1)if 分支         if [      ]

then

.....

elif [       ]

then .....

else ....

fi(2)case分支  (後加兩個;)        

case 「 ... 」in

0) echo "   ...  ";;

1) echo "   ....  ";;

*) echo "  ...  ";;

esac

2、迴圈結構

(1)for 迴圈

for i in   -----> 大括號內不能有變數(i 在1~9範圍內)

for i in `seq 1 9`  -----> 反引號,可以加變數                  

do.....

done

(2)while  迴圈  

while ~

do   ... 

while ~

do ...

break

done

done  

五、shell中的函式

1、格式:     函式名()

陣列1、陣列定義

(1)可以在單行中使用一列值來定義乙個陣列:

array_var= (1 2 3 4 5 6)       

(2)還可以將陣列定義成一組「索引-值」:

array_var[0]="test1"

array_var[1]="test2"

array_var[2]="test3"

array_var[3]="test4"

array_var[4]="test5"

2、命令

列印出特定索引的陣列元素:

echo $  或者  echo $

以清單形式列印出陣列中的所有值:

echo $  或者  echo $

列印陣列長度:

echo $

3、  語法                              描述

$                取關聯陣列所有鍵

$              取關聯陣列所有鍵

$                 取關聯陣列所有值

$               取關聯陣列所有值

$               關聯陣列的長度

$            關聯陣列的長度

第四章 第一節

乙個組合語言程式從寫出到最終執行的簡要過程 編寫 編譯 連線 執行 編寫 使用文字編輯器 如記事本 nodepad ultraedit等 用組合語言編寫彙編源程式。編譯 使用組合語言編譯程式 masm.exe 對源程式檔案中的源程式進行編譯,產生目標檔案。連線 使用連線程式 link.exe 對目標...

第四章 第一節 效率本質

學習是投資回報率最高的行為 拒絕學習的原因總結有以下幾點 1 不知道學習後有什麼收穫 2 沒有收穫,就不知道收穫有多好 多大 3 既然不了解學習的好處,就沒有動力學習 得出結論 學習乙個新東西,首先需要了解學習後能給自己帶來什麼樣的改變,可激發自己的學習興趣,增強自己的學習動力 作者對學習帶來的收穫...

第四章第一節 文字的處理

一 教學目標 1 認識文字的怎麼在計算機裡面輸入 儲存 輸出的 2 文字處理軟體複習 二 教學重點難點 1 文字的輸入 儲存 輸出 2 對以前知識的複習 三 所需課時 2課時 四 教學過程 一 文字的輸入 輸入法 音碼 形碼 混合碼的介紹 二 文字的儲存 二進位制的認識 英文本元的表示 ascii ...