腳本語言(Scripting language)如perl,tcl,PHP3同C,Jara等系統編程語言(system programming langue)的風格完全不同,腳本語言被設計或用來聯接做好的東西。他的使用不依賴 於固定類型的方法來實現更高級(相對於匯編機器碼),更快速的程序設計。 系統編程的顯著特點是"類型",一個整數,長整數,字符等在內存中所占用的儲存單位是固定 的,這樣才不會被誤用,所以他適合於大規模的程序設計(因為誰也不想再成千萬行的程序代碼 裡尋找一個因變量誤用而產生的錯誤),而且編譯器可以利用類型信息產生最佳化代碼。 而腳本語言則一般有一組元件已經用別的語言(一般是c語言)寫成。腳本語言不會從頭開 始,而是結合已經寫好的元件。例如TCL和Kisual Basic可以用來管理GUI元件,而UNIX Shell可 以把元件當作過濾器,來形成"生產線"如同膠水一樣。正因為如此,腳本語言程序開發較快,雖 然其本身的執行程序效率相對不高,但總體上的執行時間是由其調用的組件決定的,所以效率上 的損失也不大。其本身的變量一般視為字符串類型(例如Bash),並根據對其的運算而臨時決定變 量的類型(在這個方面有些象C語言,而相異於Ada)這樣有利於簡化聯接元件的工作,以使更容易 地結合元件。顯然,腳本語言比系統語言有更大的彈性。 最後我們對強弱類語言作一下對比: 下面是tcl畫窗口的例子: button.b -text Hello!-font{Times 16} -command{puts hello} 下是C++利用MFC畫的一個窗口 CFont *fontptr=new CFont(); fontPtr->CreateFont(16,O,O,O,7OO,O,O,O,ANSI_CHAREST, OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH│FF_DONTCHRE,"Times New Roman"); buttonPtr->SetFont(fontper) 即使是同一個人寫的,然而產生出來的源程序,出現了許多非必要信息,也更難閱讀。 腳本語言簡介入門 序 1:Linux的Shell除了作為命令行之外,系統管理未獲得重要工具,也是一個不錯的腳本語言,式 目前流行的shell有 Bourne Shell;sh c shell;csh Korn shell;ksh. tcsh. Bourne Again shell;bosh. Linux的標准shell是bash,所以本章將主要介紹bash和tsch編程 2:shell簡史 第一個重要的shell是Bourne shell(shell的發明者是Steven Bourne)1979年第一個流行的UNIX 版本發行是,開始使用Bonme shell.第一個廣為流行使用的shell變種是C shell。C shell主要附 在BSD版的UNIX系統中,它的作者是柏克萊大學的Bill Joy。C shell主要是因為其語法和C語言 相類似而得名。這使程序員在學習C shell 時,感到相當方便容易。以上是形成shell的二大主 流,後來的變種shell大都繼承這二種shell的優點,比如Korn,tcsh.及bash. Bash shell 是GNU計劃的重要工具軟件之一,也是GNU操作系統中標准的shell。Bash兼容於sh, 因此,許多早期開發出來的Bourne shell 都可以繼續在bash中運行。Bash在1988年誕生,最初的 作者是Brian Fox,Chet Remey於1989年加入,現在官方正式的維護者是Chet Ramey。 Tcsh是csh的增強版本,由多人於1987年開始移植到有同的平台上 ----部分取自