扣丁學(xué)堂關(guān)于shell的優(yōu)缺點(diǎn)概述
2018-01-03 13:15:24
1534瀏覽
通過對(duì)shell腳本的學(xué)習(xí),以及憑借自己的能力完成第一個(gè)腳本任務(wù)后,都會(huì)對(duì)linux-shell有一些基本的認(rèn)識(shí)與掌握,那shell腳本具體有哪些優(yōu)缺點(diǎn)呢?今天就讓扣丁學(xué)堂為大家進(jìn)行詳細(xì)的列舉以及深入的說明。
通過對(duì)shell腳本的學(xué)習(xí),完成實(shí)習(xí)所安排的第一個(gè)腳本任務(wù),我也對(duì)Linuxshell有了一些基本認(rèn)識(shí):
一、優(yōu)點(diǎn)方面:
1.shell的語法和結(jié)構(gòu)比較簡(jiǎn)單,易于掌握
2.學(xué)習(xí)和使用也比較方便,上手比較容易
3.常用命令也比較好記,不清楚的情況下,可以通過man命令迅速找到相關(guān)的說明
4.shell是解釋型語言,運(yùn)行之前不需要編譯
5.文本處理方面,主要依賴于awk、sed這兩把尖刀,能夠方便快捷地處理相當(dāng)復(fù)雜的問題
6.程序開發(fā)的效率非常高,依賴于功能強(qiáng)大的命令可以迅速地完成開發(fā)任務(wù)
二、缺點(diǎn)方面:
1.弱類型語言,對(duì)變量定義的查檢不是很嚴(yán)格
2.效率上存在的劣勢(shì):shell相當(dāng)于一個(gè)接口,大部分的功能全部靠外部程序來完成,如shell在調(diào)用awk、sed的進(jìn)程來處理文件時(shí),需要產(chǎn)生一個(gè)新的進(jìn)程,并且還需要使用管道進(jìn)行IPC進(jìn)程通信,那么就會(huì)增大相應(yīng)的開銷。在文本處理過程中,原本一個(gè)工具一次能完成的任務(wù),在需要經(jīng)過awk和sed等多次管道后,程序性能的降低是必然的。因此,按照這個(gè)觀點(diǎn)來看的話,完成同樣功能的C代碼要比shell快(我會(huì)進(jìn)一步做測(cè)試驗(yàn)證這個(gè)想法)。結(jié)合shell易于開發(fā),但效率不高的特點(diǎn),可以用一句話來概括:“shell的開發(fā)產(chǎn)能優(yōu)于運(yùn)行的性能”
3.I/O性能不高:之前看過一篇文章介紹,shell的I/O性能比perl要差,我會(huì)進(jìn)一步做測(cè)試來驗(yàn)證這個(gè)觀點(diǎn)是否正確。
4.一些細(xì)節(jié)上的不足:向awk傳入shell定義的變量時(shí),表達(dá)式比較復(fù)雜,且對(duì)shell的變量是只能讀取而不能修改。
以上就是扣丁學(xué)堂總結(jié)的關(guān)于shell優(yōu)缺點(diǎn)的介紹,看完之后是不是對(duì)linux課程有了更加大的興趣啊,扣丁學(xué)堂linux培訓(xùn)不僅有優(yōu)秀資深的老師,更有linux視頻教程供大家觀看學(xué)習(xí)。想要獲取更多的學(xué)習(xí)資料或者其他的課程問題,可以聯(lián)系我們的老師哦。另外也可以加群交流。扣丁學(xué)堂Linux技術(shù)交流群:422345477。

關(guān)注微信公眾號(hào)獲取更多的學(xué)習(xí)資料
查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>
標(biāo)簽:
linux培訓(xùn)
linux視頻教程
linux開發(fā)工程師