有很多種shell,你熟悉幾種?各個shell的homepage在那裡?
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的arraysize有何限制?
12.fifo比co-process 有什麼優點?
13.(..) 產生的subshell與呼叫另乙個指令碼產生的subshell有何不同?
14.shell中的函式可以遞迴嗎?設計時要注意什麼?
15.如何用subshell產生的多個值改變多個shell中的變數?
16.filepattern與regularexpression有什麼不同?
17.shell中含有大量文件.不想在每行之前用#注釋. 有那兩種方法可以實現?
18.用shell程式安裝配置乙個二進位制可執行軟體.希望將被安裝軟體含在shell程式中形成乙個
安裝檔案, 可以嗎?
19.可以在乙個shell程式裡包含ksh及perl 兩種**嗎?
20.如何保證shell程式只有單一instance執行? (有難度,絕非乙個ps命令可以搞定)
21.當有同名的alias,function,builtincommand,externalcommand時,如何知道並控制其執行順序?
22.如何在自定義function 中呼叫同名的 builtincommand?
23.怎樣執行各種shell時具有loginshell的行為?
24.為何ksh,rksh,pfksh都是同乙個hardlink?功能卻不同?
25.當whileread..這樣的語句用於pipe 右側時,需注意什麼?
26.對於多個相連的pipe,最後的返回碼是pipe中那個命令的? 如何取得所有命令的返回碼?
27.cmd>a2>a和cmd>a2>&1 為什麼不同?
28.stdin,stderr可以關閉嗎?有什麼結果?
29.gnutools與其他unix上的相比有什麼特點? 為什麼說不能過分依賴gnu 擴充套件?
30.vi 及vim對行長度及filesize有什麼限制?
31.請寫出對field1 (數字), field3(數字倒序), field3(ascii)進行排序的完整語句.
32.如何用diff 及其他工具寫乙個版本控制系統?(要有 check in,check out,filelock.. 等功能)
[color=darkblue][size=18][shell水平測試][sed篇][/size][/color]
原帖:
1.你能看懂 sedone-lines中的每一條語句嗎?
2./regex/!command與/regex/!command有什麼區別?
3.你能熟練使用n,n,p,p,d,d,h,h,g,g,x,:,b,t嗎?
4.什麼是sed高階程式設計中的lookuptable技術
5.seddebuger的原理是什麼?
6.為什麼sed的guru和fans比awk的多.(請看yahoogroups)
下面幾題根據使用的技術,難度不同.(難度最小: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匹配?
[color=blue][size=18][shell水平測試][awk篇][/size][/color]
原帖:
注:很多題目在不同的awk中實現不同,請註明每一種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中fieldnumber,recordlength及 filesize有何限制?
22.awk中如何刪除array及關閉管道?
23.如何完成rev功能?
24.如何在awk中使用coprocess?
25.你寫過100行以上的awk程式嗎?
[color=violet][size=18][shell水平測試][regex篇][/size][/color]
原帖:
1.傳統regex,posixregex,gnuregex,pcre都有什麼特點及異同之處?
2.ere是bre的superset嗎?
3.ere看起來強大,但使用ere有一點最不爽,是什麼?
4.依賴gnu擴充套件的危害是什麼?
5.backreference可以巢狀嗎?
6.dfa和nfa有什麼特點及區別?
7.常用的[e]grep,[ng]awk,[g]sed,perl哪些是dfa? 哪些是nfa? 因此這些程式具有哪些相應的特點?
8.greedyregex 和lazyregex 有何區別? 哪些工具是 lazyregex.
9.猜一猜乙個符合rfc標準的emailadderss 大概需要多長的regex來匹配?
10.你是否有這樣的經歷:某個使用過的regex,用在另個軟體中卻不行。
也就是說你無法確定某個regex在同一系統的不同軟體中或在不同系統的相同軟體中肯定能用?
[size=18][color=darkred]附加題[/color][/size]
1.為什麼說cu的整體較為業餘,但shell版的水平相對較高?
2.為什麼shell版中的大部分高手都是玩linux的,而低手往往是scounix,hp-ux等其他平台的?
3.為什麼當低手怯怯地丟擲乙個問題,高手快速地給出了漂亮的解答,卻往往最後並沒有解決低手的問題?
相關連線 :
SHELL 水平測試
有很多種 shell,你熟悉幾種?各個 shell 的 home page 在那裡?2.為什麼說 zsh 是目前為止功能最為強大的 shell.3.為什麼說 pdksh 功能較弱?4.ksh88 與 ksh93 有何區別?5.為什麼 shell 程式設計最好用 ksh?6.你的系統都有哪些 shel...
2 找到瓶頸 水平測試和垂直測試
在某些時候,你可能注定需要從mysql獲得更高的效能。但是你應該通過改善什麼來提高效能呢?改進乙個特定的查詢,改進你的資料庫表結構,還是改進你的硬體?知道這些的唯一方法是測量你的系統正在做什麼,並且得到它在各種情況下的效能。這也是為什麼我們把這章放在本書開始的原因。最好的策略是找到並加強你的應用中元...
shell條件測試
shell條件測試通常都會用在for while until if等控制流結構中,用於判斷檔案的相關性質或變數的相互關係。條件測試用法 test 表示式 結果 成立返回0,不成立返回非0 檢視結果 echo 以下是幾類常用的測試表示式 1 檔案狀態測試 b filename 當filename 存在...