通過對shell指令碼的學習,以及憑藉自己的能力完成第一個指令碼任務後,都會對linux-shell有一些基本的認識與掌握,那shell指令碼具體有哪些優缺點呢?今天就讓扣丁學堂爲大家進行詳細的列舉以及深入的說明。
通過對shell指令碼的學習,完成實習所安排的第一個指令碼任務,我也對Linuxshell有了一些基本認識:
一、優點方面:
1.shell的語法和結構比較簡單,易於掌握
2.學習和使用也比較方便,上手比較容易
3.常用命令也比較好記,不清楚的情況下,可以通過man命令迅速找到相關的說明
4.shell是直譯語言,執行之前不需要編譯
5.文字處理方面,主要依賴於awk、sed這兩把尖刀,能夠方便快捷地處理相當複雜的問題
6.程式開發的效率非常高,依賴於功能強大的命令可以迅速地完成開發任務
二、缺點方面:
1.弱型別語言,對變數定義的查檢不是很嚴格
2.效率上存在的劣勢:shell相當於一個介面,大部分的功能全部靠外部程式來完成,如shell在呼叫awk、sed的進程來處理檔案時,需要產生一個新的進程,並且還需要使用管道進行IPC進程通訊,那麼就會增大相應的開銷。在文字處理過程中,原本一個工具一次能完成的任務,在需要經過awk和sed等多次管道後,程式效能的降低是必然的。因此,按照這個觀點來看的話,完成同樣功能的C程式碼要比shell快(我會進一步做測試驗證這個想法)。結合shell易於開發,但效率不高的特點,可以用一句話來概括:「shell的開發產能優於執行的效能」
3.I/O效能不高:之前看過一篇文章介紹,shell的I/O效能比perl要差,我會進一步做測試來驗證這個觀點是否正確。
4.一些細節上的不足:向awk傳入shell定義的變數時,表達式比較複雜,且對shell的變數是隻能讀取而不能修改。
以上就是扣丁學堂總結的關於shell優缺點的介紹,看完之後是不是對linux課程有了更加大的興趣啊,扣丁學堂linux培訓不僅有優秀資深的老師,更有linux視訊教學供大家觀看學習。想要獲取更多的學習資料或者其他的課程問題,可以聯繫我們的老師哦。另外也可以加羣交流。扣丁學堂Linux技術交流羣:659974587。