作为一个前端小白,可能文章中有些许的错误还是希望大家能够谅解,接下来就讲把shell脚本和编程的笔记内容发布给大家!
一、学习shell的价值
- Linux服务器的基本操作和管理
2.前端Node. js 服务的进程管理、问题排查、资源监控等运维操作
3.使用shell 编写TCE、SCM、Docker 脚本,完成服务编译和部署
二、shell基础概念
1、概念 Shell和Bash之间的关系可以理解为类和实例之间的关系
2、发展
Bash除了兼容了sh大多数特性,还吸收了csh和ksh的优点,mksh系统在最新的版本中都将shell切换到了zsh。
3、构成
shell不仅提供了与内核和设备交互的方法,还集成了一些今天软件开发中通用的设计模式(比如管道和过滤器),具备控制流程,循环,变量,命令查找的机制
既是命令解释器,也是一门编程语言,作为命令解释器,它提供给用户接口,使用丰富的GNU工具集,第三方的或者内置的,比如cd、pwd、exec、test,netstat 等等
三、执行过程和原理
1、执行
Shell脚本一般以.sh为结尾,也可以没有,这是一个约定:第一行需要指定用什么命令解释器来执行。
启动方式
启动有以下三种方式,前两种是在子进程中进行执行,而第三种则是在当前进程进行执行
2、执行过程
1.字符解析
.识别换行符、分号(;)做行的分割
.识别命令连接符(||&&管道)做命令的分割
.识别空格、tab符,做命令和参数的分割
2、shell展开,如{1..3} 解析为1 2 3
3.重定向,将stdin、stdout、 stderr的文件描述符进行指向变更
4.执行命令
. builtin直接执行
. 非builtin使用$PATH查找,然后启动子进程执行
5.收集状态并返回
四、调试和前端集成
1.普通log,使用echo、printf
2.使用set命令
- vscode debug插件
VScode配置
1、she11man:代码提示和自动补全
2、she11check:代码语法校验
3、she11-format:代码格式化
4、Bash Debug:支持单步调试
–安装 vscode 插件
-编写launch.js on文件
–升级 bash 到4.x以上版本
前端集成
-
node中通过exec. spawn调用shell命令
-
shell脚本中调用node命令
3.借助zx等库进行javascript.shell script 的融合
-借助shell完成系统操作.文件io、内存、磁盘系统状态查询等
-借助nodejs完成应用层能力,网络io、计算等