举个例子,我想实现这样的 *** 作:
1)进入到/tmp/目录;
2)列出当前目录中所有的文件名;
3)把所有当前的文件拷贝到/root/目录下;
4)删除当前目录下所有的文件。
简单的4步在shell窗口中需要你敲4次命令,按4次回车。这样是不是很麻烦?当然这4步 *** 作非常简单,如果是更加复杂的命令设置需要几十次 *** 作呢?那样的话一次一次敲键盘会很麻烦。所以不妨把所有的 *** 作都记录到一个文档中,然后去调用文档中的命令,这样一步 *** 作就可以完成。其实这个文档呢就是shell脚本了,只是这个shell脚本有它特殊的格式。《linux 就该这么学》
Shell脚本通常都是以.sh 为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已。所以,以后你发现了.sh为后缀的文件那么它一定会是一个shell脚本了。test.sh中第一行一定是 “#! /bin/bash” 它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行。’#’表示注释,在前面讲过的。后面跟一些该脚本的相关注释内容以及作者和创建日期或者版本等等。当然这些注释并非必须的,如果你懒的很,可以省略掉,但是笔者不建议省略。因为随着你工作时间的增加,你写的shell脚本也会越来越多,如果有一天你回头查看你写的某个脚本时,很有可能忘记该脚本是用来干什么的以及什么时候写的。所以写上注释是有必要的。另外系统管理员并非你一个,如果是其他管理员查看你的脚本,他看不懂岂不是很郁闷。该脚本再往下面则为要运行的命令了。
1.具体使用哪些代码? 用来筛选数据的代码很多,而且,一项任务可以用几个不同的工具完成。究竟用哪个更简单和适用,要看你要完成什么样的具体工作。除了shell自带(built-in)代码(while read, case等等)外,cut, grep, awk, sed等等.都可以挑选使用。对大量复杂的数据筛选任务,我用perl,因为perl的正则表达式集它以前工具的大成,而为它以后的工具提供了标准。你可以通过比如man cut 来查看具体格式和代码用途等 。
2.
具体格式: grep [options] PATTERN [FILE...]
代码用途: 在文件中提取包含关键字符串的行
例如:
cat file1.txt
输出:
a1 a2 a3
b1 b2 b3
c1 c2 c3
grep b2 file1.txt
输出:
b1 b2 b3
awk (linux 下的awk 实际上是gawk)
具体格式: gawk [options ] -f program-file [ - ] file ...
代码用途: 强大的文字处理工具
例如:
awk '{print $2}' file1.txt
输出:
a2
b2
c2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)