脚本程序:解释器解释执行;
shell: 交互式接口;编程环境;
shell: 能够提供一些内部命令,并且能通过PATH环境变量找到外部命令;把命令提交给内核启动为进程;
过程式的编程语言的元素:变量、流程、函数、数组
变量:局部变量、本地变量、环境变量、位置参数变量、特殊变量
变量:
数值型:整型、浮点型、布尔型
字符型:字符串
bash变量是弱类型;默认字符型;
变量赋值:
outcount=`cat /proc/net/dev | grep eth1 | gawk '{print $10}'`
注意:=前后不能有空格
变量引用:${VAR_NAME}
弱引用:"" 引号内可引用变量
强引用:'' 引号内及既不能引用变量又不能执行命令,原样输出
命令引用:`` 引号内可引用变量和执行命令
outcheck=`echo "$outcount > 500*1024*1024" | bc`
声明某变量为整型变量:
let VAR_NAME=VALUE
declare -i VAR_NAME=VALUE
声明某变量为环境变量:
export VAR_NAME=VALUE
declare -x VAR_NAME=VALUE
脚本的编写格式:
第一行:写明解释器; #!/bin/bash
注释行:所有以#开头的行均为注释行;会被解释器忽略;
执行脚本:
赋予执行权限;指明路径执行;
直接传递脚本给bash解释器
bash的选项:
-n: 测试脚本中是否有语法 错误;
-x: 调试执行;
# bash -x test.sh
算术运算:
$[EXPRESSION]
let VAR_NAME=EXPRESSION
$((EXPRESSION))
例如:
echo $[5%3] 求余数
bash命令退出和退出状态码
命令在bash中执行结束退出时,其执行成功与否可通过退出状态码来记录;
脚本的退出状态码取决于执行的最后一条命令;自定义退出状态码:
exit #
成功:0
失败:1-255
注意:提前退出脚本,也可使用exit命令实现;