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

116 阅读2分钟

这是我参与「第五届青训营」笔记创作活动的第二天

一、本堂课重点内容:

  • shell 基础和语法
  • shell执行过程和原理
  • shell调试和前端集成

学习shell的价值

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

二、详细知识点介绍:

shell基本概念

概念

Shell(也称为命令行界面或终端)是一种通过文本输入和输出进行交互的计算机用户界面。它允许用户通过输入命令来执行操作。运行程序和管理系统

  1. 命令(Command)
  2. 提示符(Prompt)
  3. 文件系统(File System)
  4. 管道(Pipeline)
  5. 环境变量(Environment Variable)
  6. 脚本(Script)
  7. 快捷键(Shortcut)

构成

Unix shell 既是一个命令解释器也是一种编程语言。作为命令解释器,shell为丰富的GUN工具集提供了用户接口

命令和语法

类型作用域声明方式
自定义变量当前shell=(隐式声明)
环境变量当前shell及其子shellexport declare-x(显示声明)
系统环境变量所有shell启动加载

判断命令

shell中提供了test、[、[[,三种判断符号。可用于:
  • 整数测试
  • 字符串测试
  • 文件测试
对应的语法为:
  • test condition
  • [condition]
  • [[condition]]
Tips:
  • 中括号前后须有空格符
  • [ 和 test 是命令,只能使用自己支持的标志位,<、>、=,只能用于比较字符串
  • 中括号内的变量,最好用引号括起来
  • [[ 更丰富,在整型比较中支持<、>、=,在字符串比较中支持=~正则
一些未写在笔记里的知识值得反复看视频理解,光靠笔记不能吃透。

三、课后个人总结:

shell是一种命令行界面,也是一种编程语言,熟练掌握shell能够大大提升Unix/Linux环境下的工作效率。经过这次课程,我学习到了shell的发展历史,基础语法,能学会使用shell,也在一定程度上理解了shell的执行原理和语法设计。