我給妳來點把 哈哈
[ SHELL 水平測試 ][ OVERVIEW 篇 ]
1. 有很多種 shell, 妳熟悉幾種? 各個 shell 的 home page 在那裏?
2. 為什麽說 zsh 是目前為止功能最為強大的 shell.
3. 為什麽說 pdksh 功能較弱?
4. ksh88 與 ksh93 有何區別?
5. 為什麽 shell 編程最好用 ksh?
6. 妳的系統都有哪些 shell? 版本是多少?
7. 妳知道 POSIX 嗎?最新版本是多少?和妳的 shell 有什麽關系?
8. /sbin/sh 和 /bin/sh 有何區別?
9. 妳分析過 1000 行以上的 shell 程序嗎?
10. 各種 shell 的變量名長度有何限制?
11. 各種 shell 的 array size 有何限制?
12. FIFO 比 co-process 有什麽優點?
13. (..) 產生的 subshell 與調用另壹個腳本產生的 subshell 有何不同?
14. shell 中的函數可以遞歸嗎?設計時要註意什麽?
15. 如何用 subshell 產生的多個值改變多個 shell 中的變量?
16. File pattern 與 regular expression 有什麽不同?
17. shell 中含有大量文檔.不想在每行之前用 # 註釋. 有那兩種方法可以實現?
18. 用 shell 程序安裝配置壹個二進制可執行軟件.希望將被安裝軟件含在 shell 程序中形成壹個
安裝文件, 可以嗎?
19. 可以在壹個shell 程序裏包含 ksh 及 perl 兩種代碼嗎?
20. 如何保證 shell 程序只有單壹 instance 運行? (有難度, 絕非壹個 ps 命令可以搞定)
21. 當有同名的 alias, function, builtin command, external command 時,如何知道並控制其運行順序?
22. 如何在自定義 function 中調用同名的 builtin command ?
23. 怎樣運行各種 shell 時具有 login shell 的行為?
24. 為何 ksh, rksh, pfksh 都是同壹個 hard link? 功能卻不同?
25. 當 while read .. 這樣的語句用於 pipe 右側時,需註意什麽?
26. 對於多個相連的 pipe,最後的返回碼是 pipe 中那個命令的? 如何取得所有命令的返回碼?
27. cmd >a 2>a 和 cmd >a 2>&1 為什麽不同?
28. Stdin, Stderr 可以關閉嗎? 有什麽結果?
29. GNU tools 與其他 Unix 上的相比有什麽特點? 為什麽說不能過分依賴 GNU 擴展?
30. VI 及 VIM 對行長度及 file size 有什麽限制?
31. 請寫出對 field 1 (數字), field 3 (數字倒序), field 3 (ascii) 進行排序的完整語句.
32. 如何用 diff 及其他工具寫壹個版本控制系統?(要有 check in, check out, file lock .. 等功能)
################################
[ SHELL 水平測試 ][ SED 篇 ]
1. 妳能看懂 sed one-lines 中的每壹條語句嗎?
2. /regex/! command 與 /regex/ !command 有什麽區別?
3. 妳能熟練使用 N,n, P,p,D,d,H,h,G,g,x,:,b,t 嗎?
4. 什麽是 sed 高級編程中的 lookup table 技術
5. sed debuger 的原理是什麽?
6. 為什麽 sed 的 guru 和 fans 比 awk 的多.(請看 yahoo groups)
下面幾題根據使用的技術,難度不同.(難度 最小:1,最大:5)
7. 將數據文件中的每個詞的第壹個字母變成大寫. (難度: 2 - 4)
8. 在 sed 中實現記數器.可加 1 或減 1. (難度: 3 - 4)
9. 提取 html 文件中 table 中每個單員的內容(table 可嵌套).(難度: 4 - 5)
每壹個 cell 做為壹個單員輸出:
Table #1, Row #1, Column #1
Contents .......
Table #1, Row #1, Column #2
Contents .......
10. 壹般的 sed 的 regex 的匹配都是 greedy 的。如何用 sed 實現 lazy 匹配?
############################
[ SHELL 水平測試 ][ AWK 篇 ]
1. awk, oawk, nawk, gawk, mawk 有什麽區別?
2. 在壹個 awk 文件中, 第壹行可以如下嗎?
#! /bin/awk -F: -f
3. awk -F"" 與 awk -F "" 有區別嗎?
4. 可以這樣設置 FS 嗎?
FS = "[ \t]+\|[ \t]+"
5. gawk 有壹個擴展表達式與其他 GNU 工具不同, 是哪個, 為什麽?
6. 那兩種方法可以實現大小寫無關匹配?
7. 下列兩句有何區別?
awk '$0 ~ "[ \t\n]"'
awk '$0 ~ /[ \t\n]/'
8. FS=" " 和 FS=" +" 有何區別?
9. 如何將每壹個字符作為壹個 field ?
10. 如何將整個文件作為壹個 field ?
11. RS="" 與 RS="\n\n+" 有何區別?
12. NR 和 FNR 有何區別?
13. getline < "file" 改變那些 builtin 變量?
14. 如何不打印最後壹個 field? (不用循環)
15. $1 ~ /aaa/ 與 /aaa/ ~ $1 有何區別?
16. a = /a/ 是什麽意思?
17. awk 中的 array 可以排序嗎?
18. 如何將 awk 中得到的值賦給 shell 變量.
19. 如何模擬二維數組?
20. 妳的 awk 數組最多可能的單元是多少?有限制沒有?
21. 妳的 awk 中 field number, record length 及 file size 有何限制?
22. awk 中如何刪除 array 及 關閉管道?
23. 如何完成 rev 功能?
24. 如何在 awk 中使用 coprocess?
25. 妳寫過 100 行以上的 awk 程序嗎?
我看妳是的學習態度有問題!