前端与shell脚本和编程|青训营笔记

50 阅读2分钟

01shell概念基础

终端:获取用户输入展示运算结果的硬件设备。 shell:Command interpreter处理来自终端模拟器的输入,解释执行之后输出结果给终端。 tty 终端模拟器:Mac terminal iterm2等关联虚拟tty的输入输出软件。 Bash:shell一种的具体实现。

02语法和命令 变量:变量类型分为自定义变量,环境变量,系统环境变量

自定义变量作用域为当前shell 声明方式为= 规范:字符串整型,浮点型,日期型

环境变量作用域为当前shell及其子shell 声明方式export declare-x

系统环境变量作用域为所有shell 声明方式启动加载

declare [+/-] 选项变量

-:给变量设定类型属性

+:取消变量的类型属性

-a:将变量声明为数组类型

-i:将变量声明为整数型

-x:将变量声明为环境变量

-r:将变量声明为只读变量

_p:显示指定变量被声明的类型

系统环境变量

$0:当前shell名称/脚本名称

$#:传入脚本的参数数量

$*:传入脚本的所有参数

$?:上条命令执行的状态码

运算符和引用

算术运算符:+ - * / | &

逻辑运算符:|| && !

比较运算符:== != < >

引号:单引号 双引号 反引号

圆括号

命令连接

后台运行 &

管道:管道与管道符 | ,作用是将前一个命令的结果传递给后面的命令 语法:cmd1|cmd2

重定向 输出重定向符号

:覆盖写入文件

:追加写入文件

2>:错误输出写入文件

&>:正确和错误输出统一写入到文件中

输入重定向符号 < <<

02_判断命令

shell中提供了test [[[三种判断符号

●字符串测试

●文件测试

语法:

test condition [ condition ] [[ condition ]]

分支语句

if condition;then 程序段 elif condition;then 程序段 esle 程序段 fi

循环 while循环 until循环 for循环

函数 funcName(){echo"abc"}

模块化 原理:是在当前shell内执行行函数文件,方式: source{函数库的路径}

常用命令:grep sort wc head tail

03执行过程和原理

1.shell脚本一般以.sh结尾,也可以没有,这是一个约定;第一行需要指定用什么命令解释器来执行 2.启动方式

04调试和前端集成 1.普通log 使用echo printf 2.使用set命令 3.vscode debug插件

前端集成 1.node中通过exec SPAWN调用shell命令 2.shell脚本中调用node命令 3.借助zx等库进行JavaScript shell script 融合

课后总结:shell是一个高级语言,通过它可以简洁的表达复杂的操作。可在短时间内完成一个功能强大又好用的脚本