这是我参与「第五届青训营」笔记创作活动的第二天
一、本堂课重点内容:
- shell 基础和语法
- shell执行过程和原理
- shell调试和前端集成
学习shell的价值
- Linux服务器的基本操作和管理
- 前端Node.js服务的进程管理、问题排查、资源监控等运维操作
- 使用shell编写TCE、SCM、Docker脚本、完成服务编译和部署
二、详细知识点介绍:
shell基本概念
概念
Shell(也称为命令行界面或终端)是一种通过文本输入和输出进行交互的计算机用户界面。它允许用户通过输入命令来执行操作。运行程序和管理系统
- 命令(Command)
- 提示符(Prompt)
- 文件系统(File System)
- 管道(Pipeline)
- 环境变量(Environment Variable)
- 脚本(Script)
- 快捷键(Shortcut)
构成
Unix shell 既是一个命令解释器也是一种编程语言。作为命令解释器,shell为丰富的GUN工具集提供了用户接口
命令和语法
| 类型 | 作用域 | 声明方式 |
|---|---|---|
| 自定义变量 | 当前shell | =(隐式声明) |
| 环境变量 | 当前shell及其子shell | export declare-x(显示声明) |
| 系统环境变量 | 所有shell | 启动加载 |
判断命令
shell中提供了test、[、[[,三种判断符号。可用于:
- 整数测试
- 字符串测试
- 文件测试
对应的语法为:
- test condition
- [condition]
- [[condition]]
Tips:
- 中括号前后须有空格符
- [ 和 test 是命令,只能使用自己支持的标志位,<、>、=,只能用于比较字符串
- 中括号内的变量,最好用引号括起来
- [[ 更丰富,在整型比较中支持<、>、=,在字符串比较中支持=~正则
一些未写在笔记里的知识值得反复看视频理解,光靠笔记不能吃透。
三、课后个人总结:
shell是一种命令行界面,也是一种编程语言,熟练掌握shell能够大大提升Unix/Linux环境下的工作效率。经过这次课程,我学习到了shell的发展历史,基础语法,能学会使用shell,也在一定程度上理解了shell的执行原理和语法设计。