Shell脚本
介于操作系统与用户之间,充当 “命令解释器” 的角色通过 /etc/shells 文件可以了解系统支持的shell脚本的种类其中 /bin/bash 是默认shell脚本 什么是Shell? 简单来讲,只要将平时所用的命令按顺序保存到一个文本文件,然后添加可执行权限,这个文件就成为了一个shell脚本了例如:
添加可执行权限 直接运行脚本 当然一个合格的shell脚本中应该遵循标准的脚本结构,能够输出友好的提示信息,让人更加容易读懂
运行shell脚本的方式:
./local.sh !必须由x权限 sh local.sh source local.sh管道 管道操作为不同命令之间提供了以一种机制 位于管道左侧的命令输出结果 将作为右侧命令的输入处理对象 基本格式如下
cmd1 命令 1 | cmd2 命令 2 | cmd3 命令 3例如,需要提取跟分区 ‘’/’’ 的磁盘使用率信息,可以执行一下操作,其中需要用到df,grep,awk命令
重定向
标准输入:默认的设备键盘,文件编号0标准输出:默认的设备显示器,文件编号1标准错误:默认的设备显示器,文件编号2文件分别位于
/dev/stdin/dev/stdout/dev/stderr什么是重定向? 在Linux系统维护中,可以改变输入,输出内容的方向,而不使用默认的标准输入,输出设备,这种操作称为 “重定向”
输入 < 从指定文件中读取数据 输出 > 将输出结果保存在指定文件(覆盖) 输出 >> 将输出结果追加在指定文件(追加) 错误输出 2> 将错误信息保存在指定文件(覆盖) 错误输出 2>> 将错误信息追加在指定文件(追加) 混合输出 &> 将标准输出,标准错误一起保存在指定文件标准输入例如
需要用 --stdin来识别标准输入
标准输出例如
错误重定向例如
shell脚本变量
作用
shell变量用来存放系统和用户需要使用的特定参数常见的变量类型
自定义变量:由用户自己定义,修改和使用环境变量:由系统维护,用于设置工作环境预定义变量:Bash中内置的变量,不能直接更改位置变量:通过命令行给程序传递参数定义变量
Product=weixin Version=6.0 查看引用变量值 echo $Product Weixin echo $Product $Version weixin 6.0赋值的特殊操作
双引号 " 允许通过引用带$变量的值
qq="qq 5.0" echo $qq qq 5.0单引号 任何字符均作为普通字符看待
qq='qq $Version' echo $qq qq $Version反撇号 命令替换,提取命令输出的结果
dd=`ls -lh /boot/` echo $dd ..............ls -lh /boot/ 结果read命令 和 export命令
read 变量名全局变量
export 变量名 export 变量名=变量值数值变量的运算 expr 变量1 运算符 变量2
运算符号
* 乘法
/ 除法
% 取余数
X=5 Y=4 expr $X + $Y 9 expr $X + $Y 20环境变量 常见的环境变量 env 可以查看 预定义变量 常用的几个预定义含义
$# 表示命令行中位置参数的个数$* 表示所有位置参数的内容$? 表示前一条命令执行后的返回状态$0 表示当前执行的脚本名称date+%s 获取秒刻时间