读书人

shell学习与运用边学边用之二(坑爹

发布时间: 2012-10-21 09:00:07 作者: rapoo

shell学习与使用,边学边用之二(坑爹的空格)
下面是一个简单的shell程序。(来自 expert shell scripting一书 后面没有特殊说明也是一此书中的一些代码示例。为基础修改而来)

banxi1988@banxi:~/work/shell$ ./set_x_disable.shecho -n "Can you write device drivers(y/n)?"Can you write device drivers(y/n)?read answeryanswer=`echo $answer | tr [a-z] [A-Z]`if [ $answer = Y ] thenecho "Wow,you must be very skilled!"elseecho "Neither can I,I'm just an example shell script"fiWow,you must be very skilled!banxi1988@banxi:~/work/shell$ 



命令的打开与关闭:
和所有的shell选项一样。x(xtrace)和v它们都可以关闭。关闭和打开的语法是相反的。
除了如前面所述使用如-x的减号(-)来打开一个选项,也可以使用加号,例如+x来关闭某个选项。这样就可以在某个点关闭某个选项。这在只需要调试一小段代码时非常有用。
这个时候只需要在代码的错误区域之前打开选项,在错误区域之后关闭选项就可以完成调试了。

关于上面用到的将用户输入的小写转变为大写的
'tr [a-z] [A-Z]的说明如下:
banxi1988@banxi:~/work/shell$ tr --help
用法:tr [选项]... SET1 [SET2]
从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
仅在SET1 和SET2 都给出,同时没有-d 选项的时候才会进行替换。
仅在替换时才可能用到-t 选项。如果需要SET2 将被通过在末尾添加原来的末字符的方式
补充到同SET1 等长。SET2 中多余的字符将被省略。只有[:lower:] 和[:upper:]
以升序展开字符;在用于替换时的SET2 中以成对表示大小写转换。-s 作用于SET1,既不
替换也不删除,否则在替换或展开后使用SET2 缩减。

==================未完待续……==============

读书人网 >编程

热点推荐