[雜記]是否有必要精通unix的shell文法?

來源:互聯網
上載者:User

今天我中斷了bash的學習。

第一個原因是,《進階bash指令碼編程指南》這本書夠厚,細節夠多,我啃起來很吃力。但這並不是說它很深奧,這本書很好,只是太過糾結於細節。如果你能認真讀完並掌握此書,肯定算得上是bash老手了,說精通也不為過。

更主要的原因是,我深刻的感受到一點,bash指令碼的設計思路中有一個問題,即,它更傾向於將功能整合在語言中,它選擇將常用的庫功能實現為特殊符號的組合,而非將常用庫組織為函數和參數。這種選擇帶來的好處是,對於精通bash文法的老手來說,他們可以用有限幾個特殊字元的組合來代替編寫複雜的函數調用,提高了編輯效率。但顯然,這樣一堆奇怪文字組成的代碼會給對shell文法不熟的其他項目成員帶來極大的負擔,甚至編寫者本人回頭來維護這堆代碼時也會因為忘記部分特殊字元的功能而遭遇很大困難。完整掌握bash指令碼需要記憶的特殊規則太多!何況本身各種shell實現就因複雜性的緣故深陷各種不一致性的問題中。難怪會有不少人覺得shell文法髒亂。

總之,未了不至於造成將來和其他項目夥伴的溝通障礙,我決定對bash淺嘗輒止啦!自己也不用去記那些亂七八糟的規則,何樂而不為!

 

恩,開始學python吧!python那崇尚嚴整的代碼風格無時不刻都在勾引我!只可惜用python後肯定會冷落lua。

現在設想的編程時語言選擇順序:

windows下:1. C#:VS提供了函數/參數補全後,C#具有最高的編碼效率;.Net庫提供了Windows下最強的系統操縱能力;C#作為最先進的靜態語言之一,具有各種文法便利,加上閃電般的編譯速度,實在是Windows下普通編程任務都不二選擇!2.python,萬能的指令碼語言,統一的編程風格便於組織大型項目。3.需要嵌入式語言時,用lua。4.需要效率的演算法或關鍵代碼,用C/C++。5.日常文本處理,vim和unix tools。

linux下:基本同windows,只是去掉C#;日常還可以寫shell。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.