1. Shell概述
2. Shell解析器
shell脚本一般是以.sh后缀结尾的
3. Shell脚本入门
3.1 执行方式
还有一种执行方式是eval执行, 它会先解析脚本里还有没有参数, 如果有的话, 先计算参数再执行
metapid是查看当前给定的HiveMetastore 9083端口是否正在运行, 返回pid
下面cmd是一个运行命令脚本, 后台运行一个hive的元数据服务
在下面[ -z "$metapid" ] 是判断"$metapid" 字符串长度是否为0, 为0返回true, 执行eval $cmd命令, 如果为false, 即$metapid字符串长度不为0 即metapid有值, 元数据已经启动的情况下, 就输出"Metastore服务已启动":
3.2 多命令组成
4. Shell中的变量
4.1 系统变量
4.2 自定义变量
4.3 特殊变量: $n
4.4 特殊变量: $#
4.5 特殊变量: $*、$@
4.6 特殊变量: $?
5. 运算符
使用expr进行运算 如果要先算一个式子, 再根据这个式子来算其他式子, 需要加飘号
6. 条件判断
6.1 常用条件判断
-z
参数, 判断当前字符串长度是否为0, 为0 返回true , 不为0 返回false
判断是否执行成功, 需要执行完表达式后用$?
来判断, 如果$?
返回0 则表达式成立, 如果返回1则表达式不成立
7. 流程控制
7.1 if 判断
7.2 case语句
7.3 for循环
7.4 while循环
8. read读取控制台数据
9. 函数
9.1 系统函数
9.1.1 basename函数 查看最后一层路径或文件名
9.1.2 dirname函数 通过绝对路径分离出文件所在的路径
9.2 自定义函数
10. Shell工具
10.1 cut 剪切文件中的数据
10.2 sed 流编辑器
10.3 awk 文本分析工具, 将每行切片, 切开部分进行分析处理
10.4 sort 将文件进行排序, 将排序结果标准输出
11. 企业真题面试题