您的位置:首页 > 运维架构 > Shell

Linux Shell学习笔记十

2010-11-29 21:47 483 查看
第14课时 函数

14.1 创建和使用函数

格式:name() {list;}



Shell函数的一个重要特征是:可以用它们代替二进制可执行文件或Shell内置的同名命令。

例如:

cd() {chdir ${1:-$HOME}; PSI="`pwd`$"; export PSI;}

该语句用了一个函数代替了cd命令,该函数改变目录,同时设置了主Shell提示符$PSI使其包含当前目录。



Shell脚本中的函数变量作用范围与其他的脚本语言不通,例如在PHP中,当脚本执行超出函数范围时本内部变量就

会消失,所以不删除也没有问题。

而Shell中,变量被标识为全局变量,所以必须小心管理。



例如:

$ test(){ test=123; }

$ test

$ echo $test #输出123







第15课时 文本过滤器

调用Shell脚本常常是为了对执行的命令所产生的输出进行操作和格式化。

1)head

2)tail

3)grep

4)sort

5)uniq

6)tr



15.1.1 head和tail命令

格式:head [-n lines] files

如果没有-n lines,则显示标准的前10行。



15.1.2 tail命令

格式:tail [-n lines] files

如果没有-n lines,则显示标准的最后10行。

-f选项,用于查看正在进行写操作的文件。





15.2 使用grep

grep命令使用户可以在文件中找到包含某个特殊单词或词组的行。



15.2.1 查找单词

格式:

grep word file

这里文件file指出想在哪些文件中搜素单词word,grep命令显示文件中包含单词word的每一行。

当指定多个文件时,grep命令在输出行之前加上包含该行的文件名。

-i选项,大小写不相关匹配。



15.2.2 从STDIN(标准输入)中读入

当没有指定文件时,grep在从STDIN输入的行中寻找匹配,这使得它可以与管道很好地连在一起。

例如:$ who | grep root

-v选项,列出与条件不符的行



15.2.3 行号

选项-n,结果列表返回行号

$ grep -n pipe ch15.doc

返回格式为:file:line number:line



15.2.4 只列出文件名

有时,只需返回含有某word的文件名。

可以使用-l选项。

例如:$ grep -l php *

返回:index.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: