日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

資深Linux程序員的開發(fā)經(jīng)驗談

作者: Sppence Murray 出處: IBM
Sppence Murray 是 Linux 開發(fā)高手之一,同時長期以來他一直是 UNIX 的堅定支持者 。本文介紹的是 Murray 和他在 Codemonks Consulting 的同事在日常的 Linux 開發(fā)以及應用服務工作中用到的基本技術: shell 腳本,相信 Linux 的開發(fā)人員都會受益于這項有用而且通用的技術 。
Spence Murray 是 Codemonks Consulting 的創(chuàng)始人之一,自從 20 世紀 80 年代最早在 SunOS 上編寫代碼到現(xiàn)在,一直致力于 UNIX/Linux 的開發(fā) 。從那時起,他曾在 IBM 公司的 AIX、SGI 公司的 Irix 工作,長時間地編寫跨平臺的 UNIX 代碼,包括 HP/UX,Irix,Solaris/SunOS,SCO UNIX,各種 BSD,MacOS X,當然,還有 Linux 。從圖形/視頻設備驅動程序到 UI 代碼,他什么工作都做過 。Murray 編寫的跨平臺代碼包括 X Window System Xserver 代碼,以及作為 Netscape Navigator 一部分的核心瀏覽器代碼 。
Murray 最經(jīng)常使用的 Linux 工具是 vi、bash 和 Emacs 。“不論我是在寫 C、C、Java、shell 腳本,還是 HTML,大部分的時間我都在這些工具中來回切換”,他說 。
Linux 秘密武器
Murray 認為,對一個 Linux 開發(fā)人員來說,shell 是一個強大的軟件開發(fā)工具,無論怎么評價都不過分 ?!霸谖易龅拿恳豁椆ぷ髦卸家玫?shell 腳本,不論是快速地閱讀和修改普通文本還是編寫代碼”,他說 。“它輕便而快捷,它短小的命令使得來回移動代碼稱為一個迅速而沒有痛苦的過程 。作為一名編輯,它很快就會成為第二本能” 。
對 Murray 來說,Emacs 作為一個開發(fā)工具出現(xiàn)的晚了一些 ?!霸?90 年代早期,我嘗試使用 Emacs 作為一個 IDE,并很快就轉換門廳 。Emacs 非常強大,在那些日子里,我會一直開著一個 Emacs 窗口,經(jīng)常打開幾十個源文件,每個都有我編輯的上下文、使用 gdb 的調試會話以及在不同的源目錄下運行的 bash 腳本 。有很多關于 Emacs 的資料,可以說,這是個可怕的工具...再者,您可以在任何您想要花時間去做開發(fā)的系統(tǒng)上運行 Emacs 。
自從 20 世紀 80 年代中期第一次使用 SunOS支持的 vi 這個簡潔的環(huán)境以來,Emacs 編輯器已經(jīng)成為了 Murray 的標準工具 。"它在各種流派的 UNIX 上都可以使用,這是我在致力于跨平臺的開發(fā)工作時選擇它的主要原因之一”,他說 。
Linux 開發(fā)人員:了解您的 shell
Murray 要求您要了解您的 shell ?!癇ash、tcsh、csh――shell 是您最基本的軟件開發(fā)工具”,他強調說 。“它可以做許多了不起的事情 。所有的工作都要依賴于它……和它的強大功能” 。作為說明通用的 shell 腳本功能強大的例子,在參考資料部分中有一個可以下載的文件,其中有一組腳本,用于獲得 Red Hat 發(fā)行的更新 RPM 軟件包并將它們合并到原來的軟件包和定制的軟件包 。下載文件并解壓縮后,您可以在 /developerworks/rpm_update_scripts 目錄下找到腳本 。最終結果是一個包括所有軟件包最新版本的目錄和一個用于網(wǎng)絡安裝的升級的 hdlist 文件 。
下面的代碼片段實現(xiàn)的是對 Red Hat RPM 軟件包的自動更新,以創(chuàng)建一個使用最新的 RPM 的可以安裝的版本 。這對任何一個維護公共 Linux 服務器的人來說是一個基本的步驟 。就我們而言,我們通常是維護許多公共 Linux 服務器上的大量網(wǎng)絡服務 。下面是可以自動完成更新最新的安全和功能的過程的部分腳本 。
下面的腳本樣例證明了普通的 shell 編程技術可以廣泛應用于各種系統(tǒng)配置和程序設計應用 。腳本使用的是 bourne shell,它是在不同的 UNIX 系統(tǒng)中最為常見的 shell 。這樣就可以保證這些非常輕便的代碼可以稍加修改或者不加修改地在不同的 UNIX 系統(tǒng)上使用 。修改 Red Hat 軟件包的規(guī)范以應用于其它 Linux 發(fā)行版本是很容易的 。

推薦閱讀