什么是shell?
一种语言,依赖于解释器,存在于文本中,可以直接与操作系统交互。
linux脚本编写基础
1.1、基本语法介绍
开头
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中,我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:编译chmod +x filename 这样才能用./filename来执行
注释
以#开头的句子表示注释,直到这一行结束。
变量
shell编程中,所有的变量都由字符串组成,并且无需对变量进行声明。要赋值给一个变量,可以这样写
#!/bin/sh
a="hello world"
有时候变量名很容易与其他文字混淆,使用花括号来标注要打印的是变量
环境变量
由export关键字处理过的变量叫环境变量。
shell脚本中可以使用的三类命令
1、unix命令
2、概念: 管道, 重定向和 backtick
管道:将一个命令的输出作为另一个命令的输入
重定向:将命令的结果输出到文件,而不是标准输出(屏幕)
> 写入文件,并且覆盖旧文件
>> 加到文件尾部,保留旧文件内容
反短斜线:可以将一个命令输出作为另外一个命令的一个命令行参数
find . -mtime -1 -type f -print
用来查找过去24小时(-mtime –2则表示过去48小时)内修改过的文件。如果您
想将所有查找到的文件打一个包,则可以使用以下脚本:
#!/bin/sh
# The ticks are backticks (`) not normal quotes ('):
tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`
部分参考:http://www.jb51.net/article/36739.htm