嵌入式第五周課堂總結

2021-10-04 13:38:14 字數 1514 閱讀 6982

自動生成: cmake autotool

嵌入式linux開發工具-shell程式設計(指令碼:批處理)

linux系統運維工程師(嵌入式系統開發–系統移植)

shell:

1.命令解析器 (將使用者輸入的命令解析,呼叫相應的命令的可執行檔案)

2.指令碼語言

命令:可執行檔案

變數 if for while until case 函式 函式傳參 函式返回值 鍵盤輸入read

底層嵌入式開發: shell命令拼裝、需要看懂shell

3.什麼叫shell ?

shell是乙個命令列直譯器,它的作用就是遵循一定的語法將輸入的命令加以解釋並傳給系統。它為使用者提供了乙個向linux傳送請求以便執行程式的介面系統級程式,使用者可以用shell來啟動、掛起、停止甚至是編寫一些程式。

4.shell本身是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。

shell既是一種命令語言,又是一種程式語言。因此,對於使用者來說,shell是最重要的實用程式,深入了解和熟練掌握shell的特性極其使用方法,是用好linux系統的關鍵。可以說,shell使用的熟練程度反映了使用者對 linux使用的熟練程度。

5.shell提供了使用者與作業系統之間通訊的方式。以shell script(非互動)方式執行。shell script是放在檔案中的一串shell和作業系統命令,它們可以被重複使用。 本質上,shell script是命令列命令簡單的組合到乙個檔案裡面。

程式必須以下面的行開始(必須方在檔案的第一行):

#!/bin/sh

#!用來告訴系統它後面的引數是用來執行該檔案的程式。

要使指令碼可執行:

chmod +x filename

通過輸入: ./filename 來執行您的指令碼

6.變數:

在shell程式設計中,所有的變數都由字串組成,不需要對變數進行宣告。如果要賦值給乙個變數,則變數名=值

取出變數值可以加乙個美元符號($)在變數前面

變數賦值時,「=」兩邊都不能有空格

bash中的語句結尾不需要分號

7.預設變數

$#:傳入指令碼的命令列引數個數

$*:所有命令列引數值,在各個引數值間留有空格

$0:命令本身(shell檔名)

$1:第乙個命令列引數

$2:第二個命令列引數

8.區域性變數

在變數首次被複製時加上local關鍵字可以表示乙個區域性變數。

9.if語句

比較整數a和整數b是否相等:if[ $a = $b ]

比較整數a是否大於整數b:if[ $a –gt $b ]

比較字串a和b是否相等: if[ $a = $b ]

判斷字串a是否為空:if[ -z $a ]

10.for語句

格式:for 變數 in 列表;do

語句1;

語句2;

。。。。;

done

說明:變數是在當前迴圈使用,用來代替當前列表的物件。列表是迴圈中所要操作的物件,可以是字串,檔名等。

嵌入式第四周課堂總結

偵錯程式 gdb 1.gnu計畫的工具 核心除錯kgdb 2.程式的錯誤分類 編譯時錯誤 語法錯誤 執行時錯誤 記憶體錯誤,邏輯錯誤 3.gdb的功能 1執行程式 2設定斷點 3檢視變數值 4.hello.c gcc g hello.c o hello gcc gdb 5.使用 tui layout...

嵌入式Linux第二週課堂拓展

自學20條命令 1.cat cat n file1 標示檔案的行數 cat b file1 和 n 相似,只不過對於空白行不編號 cat s file 當遇到有連續兩行以上的空白行,就代換為一行的空白行 cat e 或 在每行結束處顯示 2.cmp cmp file1 file2如果檔案相同,則不顯...

嵌入式課程 第五周

嵌入式linux系統開發 檔案 程序 執行緒 網路 20 嵌入式系統移植8h 嵌入式驅動開發8h 自動生成 cmake autotool 嵌入式linux開發工具 shell程式設計 指令碼 批處理 linux系統運維工程師 嵌入式系統開發 系統移植 shell 1.命令解析器 將使用者輸入的命令解...