Shell编程笔记
变量的定义规则
- 变量名称可以由字母、数字、下划线组成, 但是不能以数字开头, 环境变量大写
- 等号两边不能有空格
- 在bash中, 变量默认类型都是字符串类型, 无法直接进行数值运算。
- 变量的值如果有空格, 需要使用双引号括起来
特殊变量
$n, n代表着数字, $0代表着脚本名称, $1- 9 代 表 着 第 一 个 倒 第 九 个 参 数 , 十 以 上 的 参 数 9代表着第一个倒第九个参数, 十以上的参数 9代表着第一个倒第九个参数,十以上的参数{10}
$# 代表着输入参数的个数, 常常用于循环
$*, 代表命令行中的所有参数,将所有参数看成一个整体
$@, 也代表命令的所有参数, 将每个参数区别对待
#? 上一次命令的返回状态, 0代表正常
运算
a. 变量=$[运算式]
b. expr + - * / %
注意:expr运算符之间需要有空格
条件判断
[ condition ] , 主义Condition前后要有空格
整数之间的比较:-gt -lt -ge -le -eq -ne
文件权限进行比较:-r -w -x
文件类型进行判断:-f -e -d
多条件判断(&&,||)
流程控制
if判断
case
for
while
read 读取控制台输入
系统函数
自定义函数
cut
剪切数据
sed
流编辑器
awk
文本分析工具,把文件逐行读入,默认以空格将每行切片, 切开后的部分再进行处理。
awk[-F -V] ‘pattern1 {action1} pattern2 {action2}’ filename
内置变量有FILENAME、NR、NF
sort
将文件排序, 并将排序结果标准输出。