SHELL 水平測試

2021-08-25 20:45:21 字數 3874 閱讀 2134

有很多種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 存在...