基础知识:
1、使用多条命令
命令之前使用 “;” 分隔,执行过程为顺序执行,上个一个命令执行完毕后,继续执行“;”后的命令
2、创建脚本文件
使用编译器创建脚本文件
脚本首行必须声明shell,如:#!/bin/bash
#除首行为声明shell外,其他行均为注释行。
执行脚本时,需给脚本加上执行权限;如:chmod +x test01.sh
脚本注释相当重要,就如写代码一样,如没有注释,其他人理解很累,长时间后自己理解也非常吃力。
3、显示信息
打印输出:echo
echo -n:在脚本文件中使用-n参数可以使 当前行与下一行,在同行显示输出。
4、使用变量
本地变量(区部变量)
环境变量
位置变量
特殊变量
本地变量:set vername=value:作用域为整个脚本进程
局部变量:local vername=value:作用域为当前脚本段
环境变量:export vername=value
or vername=value
export vername
作用域为当前shell进程以及子进程
位置变量:
$1,$2,$3 ...... : 脚本传参的个数,如:$1为第一个传参的值。以此类推
$?:为上个条命令的执行状态;执行成功为:0 ;执行失败为:1-255;
5、重定向输入输出
输入重定向:
<:
输出重定向:
> :正确输出覆盖输出重定向,输出到目标时会覆盖目标的所有内容
>>:正确追加输出重定向,输出到目标最后进行追加,不会删出目标内容
输出错误重定向:
2>:返回错误的结果时覆盖输出重定向,输出到目标时会覆盖目标的所有内容
2>>:返回错误的结果时追加输出重定向,输出到目标最后进行追加,不会删出目标内容
输出结果重定向:
&>:输出结果无论正确或者错误都输出重定向到指定目标文件
6、管道
管道就是将一个命令的结果发送到另外一个命令作为命令的输入
如:ls -l | wc -l 把ls -l的结果发送给wc -l,显示ls -l结果的行数
7、算数运算
在shell脚本中大概有以下几种运算模式:
1、let 后跟算数表达式
let c=$a+$b
2、$[算数表达式]
c=$[$a+$b]
3、$((算数表达式))
c=$(($a+$b))
4、expr 后跟表达式
c=`expr $a+$b`
5、bc计算器解决浮点表达式
a=1.2
b=2.3
echo `$a*$b | bc` 输出a与b的乘积
8、退出脚本
exit *
exit后跟0-255;0显示脚本执行正确。1-255表示脚本出错,可以自定义脚本出错分析错误点。 如:exit 1,$?显示为1