(五)uboot移植补基础之shell
1、shell介紹:shell是操作系統的終端命令行
(1)shell可以理解為軟件系統提供給用戶操作的命令行界面,可以說它是人機交互的一種方式。
(2)我們可以使用shell和操作系統、uboot等軟件系統進行交互。具體來說就是我們通過shell給軟件系統輸入命令然后回車執行,執行完成后又會回到shell命令行可以再次輸入命令執行。
(3)上述的操作方式一般情況下工作很好,但是有缺陷。譬如我們要在linux下創建一個文件a.c,可以touch a.c 但是如果我現在是用在linux下創建100個文件,分別為a1.c a2.c.....a100.c 如果這時候還是手工去命令行下執行命令創建也可以,但是很累。最好的做法就是把創建過程寫成一個shell腳本程序,然后去執行這個shell腳本程序,執行這個程序的效果和手工在命令行輸入那些命令效果一樣的。(回憶在arm裸機中安裝交叉編譯工具鏈時,創建arm-linux-xxx的符號鏈接時)
2、shell是一類編程語言
(1)編寫shell腳本時使用的語言就是shell語言,又叫腳本語言。
(2)shell腳本其實是一類語言而不是一個語言。
常用shell語言:sh、bash、csh、ksh、perl、python等
(1)在linux下常用的腳本語言其實就是bash、sh;
(2)perl、python這樣的高級shell腳本語言,常用在網絡管理配置等領域,系統運維人員一般要學習這些。
(3)腳本語言一般在嵌入式中應用,主要是用來做配置。(一個復雜的嵌入式程序都是可配置的,配置過程就是用腳本語言來實現的)自然不會使用過于復雜的腳本語言特性,因此只需要針對性的學習即可。
(4)linux下最常用的腳本就是bash,我們學習也是以bash為主。
3、shell腳本的運行機制:解釋運行
(1)C語言(C++)這種編寫過程是:編寫出源代碼(源代碼是不能直接運行的)然后編譯鏈接形成可執行二進制程序,然后才能運行;而腳本程序不同,腳本程序編寫好后源代碼即可直接運行(沒有編譯鏈接過程)
(2)shell程序是解釋運行的,所謂解釋運行就是說當我們執行一個shell程序時,shell解析器會逐行的解釋shell程序代碼,然后一行一行的去運行。(順序結構)
(3)CPU實際只認識二進制代碼,根本不認識源代碼。腳本程序源代碼其實也不是二進制代碼,CPU也不認識,也不能直接執行。只不過腳本程序的編譯鏈接過程不是以腳本程序源代碼為單位進行的,而是在腳本運行過程中逐行的解釋執行時才去完成腳本程序源代碼轉成二進制的過程(不一定是編譯鏈接,因為這行腳本程序可能早就編譯連接好了,這里我們只是調用它)的。
?
轉載于:https://www.cnblogs.com/zhangshenghui/p/5843583.html
總結
以上是生活随笔為你收集整理的(五)uboot移植补基础之shell的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 影像图矢量化水系
- 下一篇: 2021《考研数学接力题典1800》勘误