自動生成: 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.命令解析器 將使用者輸入的命令解...