內容介紹
本書能夠幫助你掌握UNIX作業系統的Bash、Perl、TclShell編程。全書分12章,涵蓋了有關Shell編程技巧和技術的全部內容。在書中,還可找到有
關如何創建程式的簡單建議,有助於讀者早日加入優秀程式設計師之行列。
DavidMedinets: UNIXShellProgrammingTools.
Originaleditioncopyright(C)1999byTheMcGraw-HillCompanies.Allrightsreserv-
ed.
Chineseeditioncopyright(C)2000byChinaMachinePress.Allrightsreserved.
本書中文簡體字版由美國麥格勞希爾公司授權機械工業出版社獨家出版,未經出
版者書面許可,不得以任何方式複製或抄襲本書內容。
著作權所有,侵權必究。
作品目錄
目 錄譯者序
前言
第一部分 基 礎 篇
第1章 Shell簡介
1.1存取許可權問題
1.2運行Shell腳本
1.3Shell程式設計
1.4Shell計數
1.5Shell特性
1.5.1別名
1.5.2命令替換
1.5.3後台處理
1.5.4變數
1.5.5管道
1.5.6重定向
1.5.7模式匹配
1.5.8特殊字元
1.6Shell/Perl/Tcl間的聯繫橋
1.7小結
第2章 變數和運算符
2.1變數替換
2.2位置變數
2.3進程變數
2.4Bash引號規則
2.5運算符
2.5.1取模運算符
2.5.2按位運算符
2.5.3邏輯運算符
2.5.4賦值運算符
2.6表達式替換
2.7標準Shell變數
2.8影響命令的變數
2.8.1declare
2.8.2export命令
2.8.3let命令
2.8.4local命令
2.8.5readonly命令
2.8.6set命令
2.8.7shift命令
2.8.8typeset命令
2.8.9unset命令
2.9小結
第3章 過程
3.1在過程內部使用變數
3.2shift命令
3.3建立局部過程變數
3.4過程返回值
3.5小結
第4章 腳本執行命令
4.1exit命令
4.2trap命令
4.3if命令
4.4case命令
4.5for語句
4.6while命令
4.7until命令
4.8break命令
4.9continue命令
4.10小結
第5章 控制Shell
5.1創建命令表
5.2創建複合命令
5.3輸入/輸出重定向
5.3.1控制輸入
5.3.2控制輸出
5.3.3管道
5.3.4利用高級重定向
5.4讀取輸入
5.5使用“”檔案
5.6使用設備檔案
5.7使用exec
5.8使用eval
5.9使用後台進程
5.10小結
第6章 使用Perl
6.1Perl特性
6.2Perl入門
6.3Perl變數
6.3.1命名習慣
6.3.2標量
6.3.3數組
6.3.4hash
6.4使用靜態信息
6.5使用倒引號字元串
6.6使用語句
6.6.1運算符
6.6.2函式
6.3.3語句
6.7使用檔案
6.7.1讀檔案
6.7.2寫檔案
6.7.3檔案檢測運算符
6.8特殊變數
6.9對象
6.10使用模組
6.11小結
第7章 使用Tcl/TK
7.1Tcl的特點
7.2Tcl入門
7.3理解“替換”概念
7.3.1變數替換
7.3.2命令替換
7.3.3反斜線替換
7.4理解“成組”的概念
7.4.1用花括弧成組
7.4.2用引號成組
7.5數據結構
7.5.1簡單變數
7.5.2列表
7.5.3數組
7.6使用語句
7.6.1構建一個語句
7.6.2Tcl的內置命令
7.6.3expr命令
7.6.4編寫過程
7.6.5標準控制結構
7.7使用檔案
7.7.1讀檔案
7.7.2寫檔案
7.8超越Shel1
7.9小結
第8章 模式匹配
8.1Bash
8.1.1用於檔案名稱的元字元
8.1.2變數的元字元
8.1.3case命令的元字元
8.1.4元字元和for命令
8.2Perl
8.2.1模式分隔設定
8.2.2匹配運算符
8.2.3替換運算符
8.2.4轉換運算符
8.3聯編運算符(=~和!~)
8.3.1Perl模式匹配的元字元
8.3.2字元類
8.3.3量詞
8.3.4模式存儲
8.3.5模式優先
8.3.6擴展語法
8.3.7模式範例
8.4Tcl
8.4.1glob函式
8.4.2stringmatch函式
8.4.3regexp函式
8.4.4regsub函式
8.5小結
8.5.1Bash
8.5.2Perl
8.5.3Tcl
第二部分 使用工具集篇
第9章 檢查工具
9.1basename命令
9.2cat命令
9.3cksum命令
9.4clear命令
9.5col命令
9.6cp命令
9.7csplit命令
9.8cut命令
9.9date命令
9.10diff命令
9.11echo命令
9.12env命令
9.13expr命令
9.14eval命令
9.15false命令
9.16fgrep命令
9.17find命令
9.18grep命令
9.19groff命令
9.20head命令
9.21info命令
9.22join命令
9.23kill命令
9.24less命令
9.25man命令
9.26mv命令
9.27nl命令
9.28ps命令
9.29pstree命令
9.30read命令
9.31rm命令
9.32sort命令
9.33split命令
9.34strings命令
9.35tail命令
9.36tee命令
9.37test命令
9.38tr命令
9.39true命令
9.40tty命令
9.41type命令
9.42uname命令
9.43uniq命令
9.44wc命令
9.45who命令
9.46write命令
9.47xargs命令
9.48小結
第10章 移植性問題
10.1腳本程式語言間的命令等價
10.1.1檔案I/O
10.1.2變數類型
10.1.3循環命令
10.1.4判定命令
10.2不同平台間的移植
10.2.1Bash
10.2.2Perl和Windows32
10.2.3MacPerl
10.2.4Windows之下的Tc1
10.2.5MacOS之下的Tcl
10.3小結
第11章 調試概念
11.1語法錯誤
11.1.1不適當的格式
11.1.2丟失和錯放了命令分隔設定
11.1.3錯拼的詞
11.1.4不成對
11.2運行時錯誤
11.3崩潰
11.4調試技術
11.4.1Bash調試
11.4.2Perl調試
11.4.3打開報警
11.4.4在代碼中使用strict
11.4.5一般調試
11.5調試工具
11.5.1Perl
11.5.2Tcl/Expect
11.6小結
第12章 定製工具
12.1更好的find命令
12.2更好的write命令
12.3“安全的”delete命令
12.4受限使用的註冊Shell
12.5用戶名字是什麼
12.6創建適當的字母大寫
12.7有用的信息、提示和警告
12.8檔案計數
12.9取代命令
12.10小結
第三部分 附錄
附錄A Internet資源
附錄B ASCII碼錶