當(dāng)前位置:
首頁(yè) >
脚本语言简介
發(fā)布時(shí)間:2023/12/20
44
豆豆
以下內(nèi)容源于朱友鵬《物聯(lián)網(wǎng)大講堂》課程的學(xué)習(xí),以及網(wǎng)絡(luò)資源http://c.biancheng.net/cpp/view/6994.html的學(xué)習(xí),如有侵權(quán),請(qǐng)告知?jiǎng)h除。
一、腳本語(yǔ)言
(1)編寫腳本時(shí)使用的語(yǔ)言就是shell語(yǔ)言,又叫腳本語(yǔ)言。
(2)腳本語(yǔ)言其實(shí)是一類語(yǔ)言而不是一個(gè)語(yǔ)言。常用的shell語(yǔ)言有:sh、bash、csh、ksh、perl、python等。
(3)在linux下常用的腳本語(yǔ)言其實(shí)就是bash、sh。
(4)腳本語(yǔ)言一般在嵌入式中應(yīng)用,主要是用來做配置。
(5)perl、python屬于高級(jí)腳本語(yǔ)言,常用在網(wǎng)絡(luò)管理配置等領(lǐng)域,系統(tǒng)運(yùn)維人員一般要學(xué)習(xí)這些。
二、shell程序的運(yùn)行機(jī)制:解釋運(yùn)行
(1)C語(yǔ)言程序、shell程序的區(qū)別
- C程序需要編譯鏈接形成可執(zhí)行二進(jìn)制程序,然后才能運(yùn)行;
- 腳本程序編寫好后源代碼即可直接運(yùn)行,沒有編譯鏈接過程。
(2)shell程序是逐行解釋運(yùn)行的,即執(zhí)行一個(gè)shell程序時(shí),shell解析器會(huì)逐行解釋shell程序代碼,然后一行一行的去運(yùn)行。(順序結(jié)構(gòu))
(3)
- 腳本程序源代碼不是二進(jìn)制代碼,也不能直接執(zhí)行。
- 腳本程序的編譯鏈接過程不是以腳本程序源代碼(全部源碼)為單位進(jìn)行的,而是在腳本運(yùn)行過程中逐行地解釋執(zhí)行時(shí),才把腳本程序源代碼轉(zhuǎn)成二進(jìn)制。這過程不一定是編譯鏈接,因?yàn)檫@行腳本程序可能早就編譯連接好了,只是調(diào)用它而已。
三、腳本的執(zhí)行方法
(1)shell程序是文本格式的,只要是文本編輯器都可以。
- windows中的編輯器寫的shell不能在linux下運(yùn)行,因?yàn)閘inux下的換行符必須是'\n',而windows下的換行符是"\r\n"。
(2)三種運(yùn)行方法
- 第一種:./xx.sh,和運(yùn)行二進(jìn)制可執(zhí)行程序方法一樣,要求shell程序必須具有可執(zhí)行權(quán)限。chmod a+x xx.sh來添加可執(zhí)行權(quán)限。
- 第二種:source xx.sh,source是linux的一個(gè)命令,這個(gè)命令就是用來執(zhí)行腳本程序的。這樣運(yùn)行不需要腳本具有可執(zhí)行權(quán)限。
- 第三種:bash xx.sh,bash是一個(gè)腳本程序解釋器,本質(zhì)上是一個(gè)可執(zhí)行程序。這樣執(zhí)行相當(dāng)于執(zhí)行bash程序,然后把xx.sh作為argv[1]。
總結(jié)
- 上一篇: 20190216-Java 教程(菜鸟教
- 下一篇: 微软雅黑在IE中显示为宋体