Shell脚本和编程 | 青训营笔记

158 阅读2分钟

作为一个前端初学者小白,看到这个课程的时候我是懵的,因为我从来就没有学过,甚至没听说过,不过结合个人最近的经历和将这节课看到了最后我终于理解Shell是非常重要的!求人不如求己,咱们前端也需要掌握这些技能!

学习Shell的价值

  1. Linux服务器的基本操作和管理
  2. 前端Node.js的进程管理、问题排查、资源监控等运维操作
  3. 使用shell编写TCE、SCM、Docker脚本,完成服务编译和部署

Shell基础概念

物理终端=> 软件终端tty=>终端模拟器=> shell
tty或者说终端最开始指的是获取用户输入并输出的物理设备,比如电传打字机
在 linux 中是接收用户输入、输出结果的终端仿真软件, 比如我们用的 mac terminal、iterm2 等,更强输入辅助功能,画面绘制输出的模拟终端器:而tty变成一个虚拟概念,是linux的一个程序,每个终端模拟器关联一个虚拟tty,和内核打交道。我们可以在 终端模拟器中输入 tty查看关联到的虚拟 ttybash是shell的一种具体实现,可以理解成 实例和类的关系

发展

除了替代v6 shell,sh 还有几个优点,把控制流程,循环,变量引入了脚本,提供了一种更具功能性的语言
主流Linux系统使用的shell,许多都以它为锚点。
bash是sh的超集,可以直接执行大部分sh脚本。
Bash 在兼容 Boume shell脚本编程的同时,集成了Korn shell和Cshell 的功能,包括命令历史,命令行编辑,目录堆栈(pushd和popd),一些实用环境变量,命令自动补全等。

构成

![图片转存失败,建议将图片保存下来直接上传 放图: `8_V{DB}@035EV5]@NF4$S.png](p3-juejin.byteimg.com/tos-cn-i-k3…?)]()

语法和命令

类型作用域声明方式规范
自定义变量当前shell=字符串、整型、浮点型、日期型
环境变量当前shell及其子shellexport、declare -x
系统环境变量所有shell启动加载