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

Linux——Shell脚本的基本应用

2015-01-23 14:16 549 查看

一、脚本的作用

批量处理、自动化地完成一系列维护任务、减轻管理负担。

二、什么是脚本

将平时使用的各种Linux 命令按顺序保存到一个文本文件,然后添加可执行权限
例:
1)新建一个脚本文件first.sh







2)添加可执行权限



上述firsh.sh 脚本文件中,包括三条命令:cd /boot/ ,pwd , ls -lh vml*。执行此脚本文件后,输出结果与依次单独执行这三条命令是相同的,从而实现了“批量处理”的自动化过程。

三、脚本的基本格式

一个合格的shell脚本程序应该遵循标准的脚本结构,而且输出友好的提示信息,更加容易读懂。对于代码较多,结构复杂的脚本,应添加必要的注释文字。
1)脚本声明
2)注释信息
3)可执行语句
4)输出友好的提示信息
例:



执行后的输出结果:




四、执行脚本文件的方式

1)脚本文件路径(脚本文件必须有X权限)



2)sh 脚本文件路径(不需要X权限)



3)source 脚本文件路径(不需要X权限)




五、重定向与管道操作




1)重定向输出
操作符:">" 覆盖文件
">>"追加文件



例:覆盖文件



例:追加文件



2)重定向输入
操作符:"<"
例:自动完成密码设置



3)错误重定向
操作符:"2>"
例:



4)混合输出
操作符:"&>"
将标准输出、标准错误输出同事保存到指定文件中
5)管道操作 "|"
作为不同命令之间协同工作提供了一种机制,位于管道符号"|" 左侧的命令输出的结果,将作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道
例1



六、变量的引用
1)双引号("):允许通过 $ 符号引用其他变量值



2)单引号('):禁止引用其他变量,即使有 $ ,视为普通字符



3)反撇号(`):命令替换,提取命令执行后的输出结果,等同于 $()



4)大括号({}):当变量和后面的字符容易出现混淆时永大括号隔开



5)read 命令:提示用户输入信息,从而实现简单的交互过程



6)设置变量的作用范围
默认情况下,新定义的变量只在当前的shell 环境中有效,因此成为局部变量。当进入子程序或新的子shell 环境时,局部变量将无法再使用。
例:



全局变量设置:export 变量名
例:




7)数值变量的运算
格式:expr 变量1 运算符 变量2 【运算符 变量3】……
运算符
+ 加法运算
- 减法运算
\* 乘法运算
/ 除法运算
% 求模运算(又称为取余运算)
例:



七、特殊的shell 变量

1)环境变量:env命令查看当前工作环境下的环境变量
常见的环境变量
USER 用户名称
HOME 用户的宿主目录
LANG 语言和字符集
PWD 当前所在的工作目录
PATH 命令搜索路径
环境变量的全局配置文件为/etc/profile 在此文件中定义的变量作用于所有用户。
每个用户拥有自己的独立配置文件~/.bash_profile
2)位置变量
当执行命令操作时,第一个字段表示命令名或脚本程序名,其余的字符串参数按照从左到右的顺序依次赋值个位置变量
位置变量也成为位置参数,使用$1,$2,$3,……表示
例:以下脚本中$1=10 $2=11







3)预定义变量
$# 表示命令行中位置参数的个数
$* 表示所有位置参数的内容
$? 表示前一条命令执行后的返回状态,返回值为0表示执行正确,非0表示异常
$0 表示当前执行的脚本或程序的名称
例:自动备份文件脚本



执行后的结果




附件:http://down.51cto.com/data/2365343
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息