Shell基础 | 青训营笔记

24 阅读2分钟

前言

本文只作为shell的基本介绍,包括一些语法格式、执行原理以及简单的操作等。适合想入门却不知道不知道里面有什么的同志。我按课程分为四大模块:Shel1基础概念、命令和语法、执行过程和原理、调试和前端集成。

Shel1基础概念

概念

  • 终端(tty):指的是获取用户输入并输出的物理设备。在linux中是接收用户输入、输出结果的终端仿真软件,比如我们用的mac terminal、iterm2等。
  • 终端模拟器:输入辅助功能、画面绘制输出的模拟终端器。
  • Shell:command interpreter.处理来自终端模拟器的输入,解释执行之后输出结果给终端。
  • Bash:bash是shell的—种具体实现,可以理解成实例和类的关系。

发展

image.png

构成

Shell既是命令解释器,也是一门编程语言,作为命令解释器,它提供给用户接口,使用丰富的GNU工具集,第三方的或者内置的;作为编程语言,它具备控制流程,循环,变量,命令查找的机制。

image.png

命令和语法

由Shell的构成知,我们分别需要讲解其命令和语法。

变量

种类

image.png 需要说明的是,变量一个变量执行时是可以在父子shell中执行(比如环境变量),比如在调用第三方库要在子shell中执行,执行完子shell后继续执行父shell。具体内容感兴趣自己查找。

定义

自定义变量定义

declare [+/-] 选项 变量

declare -i var=integer #定义一个整数变量

系统环境变量

image.png

配置文件加载

当我们登录系统时,会运行shell,其中等待我们输入指令,然后它给我们返回结果的shell是交互式shell。还有其它两种shell。执行步骤如下图:

image.png

运算符和引用

不必多说,你先入门再记。

image.png

管道

学过linux指令应该知道这玩意。大概意思就是给你很多脑婆,帮我找到我想要的那个。

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

重定向

大概意思是本来枪的轨道是直的,然后你设计成弯的了。

输出重定向符号

  • '>':覆盖写入文件
  • '>>'︰追加写入文件
  • '2>' :错误输出写入文件
  • '&>':正确和错误输出统一写入到文件中

输入重定向符号

  • <
  • <<

语法部分

判断命令

shell中提供了test、[、[[ 三种判断符号,可用于: 整数测试 字符串测试 文件测试

分支语句

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

image.png

循环

函数

模块化

常用命令

执行过程和原理

执行

执行过程

shell展开

重头戏

调试和前端集成

调试

前端集成案例