bash 學習篇 -- 簡介

一、使用bash

△Bourne-Again shell的縮寫,對於所有UNIX上的shell腳本來說, Bash已經成爲了事實上的標準了

△對於任何想適當精通一些系統管理知識的人來說, 掌握shell腳本知識都是最基本的

△Shell腳本遵循典型的UNIX哲學, 就是把大的複雜的工程分成小規模的子任務, 並且把這些部件和工具組合起來

二、什麼時候不適合使用bash

△資源密集型任務,尤其是考慮效率時(如排序、hash等)

        •例子,time awk 'BEGIN{for(i=0;i<100000;i++){print "helloworld"}}' 這個6秒多 ,用BASH的FOR循環要8秒,用PERL,0.8秒.

        •處理APACHE的日誌.apache的日誌要導入到MYSQL裏做統計,就要處理,調整下順序,把英文的月份改成中文的,500M的一個日誌,用WHILE READ 處理 中間用的SED處理,處理的速度是每分鐘處理2M.用AWK處理了下,整個日誌只用了40多秒.

△需要處理大任務的數學操作時, 尤其是浮點運算, 精確運算, 或者複雜的算術運算

△有跨平臺移植需求時(一般使用C或Java).  △需要產生或操作圖形化界面GUI時 △需要直接作系統硬件時

△複雜的應用, 在必須使用結構化編程的時候(需要變量的類型檢查, 函數原型, 等等).  △需要I/O或socket接口時

△至關重要的應用時  △對於任務安全要求高時 △需要多維數組的支持時△需要數據結構的支持時  △需要使用庫或者遺留下來的舊代碼的接口時

△需要大規模的文件操作時(Bash受限於順序地進行文件訪問, 而且只能使用這種笨拙的效率低下的一行接一行的處理方式. ).

個人的, 閉源的應用時(shell腳本把代碼就放在文本文件中, 全世界都能看到).

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章