SHELL 水平测试

有很多种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]


原帖:http://bbs.chinaunix.net/forum/viewtopic.php?t=476269&show_type=&sid=e90e3c748f1c10920ca09d71a81f7461



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]

原帖:http://bbs.chinaunix.net/forum/viewtopic.php?t=476271&show_type=&sid=e90e3c748f1c10920ca09d71a81f7461

注:很多题目在不同的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]

原帖:http://bbs.chinaunix.net/forum/viewtopic.php?p=3143773#3143773



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.为什么当低手怯怯地抛出一个问题,高手快速地给出了漂亮的解答,却往往最后并没有解决低手的问题?

相关连接 :http://www.chinaunix.net/jh/24/476260.html

你可能感兴趣的:(shell)