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

11 阅读1分钟

语法

tty:终端设备的统称,终端是一种字符型设备,他有多种类型,通常使用tty来简称各种类型的终端设备。

终端模拟器: 比如 Mac中的 iTerm2等 关联虚拟tty的输入输出软件

Shell: 可以处理来自终端模拟器的输入,解释执行后输出结果给终端,也是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

bash是一个命令处理器, 运行在文本窗口中, 并能执行用户直接输入的命令.还能从文件中读取Linux命令, 称之为脚本.bash支持通配符, 管道, 命令替换, 条件判断等逻辑控制语句


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

系统环境变量

$0: 表示当前脚本/shell的名称

$#: 表示传入脚本的参数的个数

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

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

$PS1 命令提示符

$HOME 用户主文件夹

$PATH 全局命令的搜索路径

 

declare选项的含义

  • 给变量设定类型属性
  • 取消变量的类型属性
  • a将变量声明为数组类型

  • i将变量声明为整数型

  • x将变量声明为环境变量

  • r将变量声明为只读变量

  • p显示指定变量的被声明的类型

运算符

算术运算符

+-*/%

逻辑运算符

| &

比较运算符

== != < >
引号

'' 所有内容保留原样

"" 仅 $ ` \ 保留作用 `` 内容作为命令执行,将其输出作为结果

括号

(()) 算术运算

() 执行命令

命令连接

&& 前面的命令执行成功后执行后面的命令

; 两条命令串行执行

后台执行

& 用在命令结尾,使命令不占用输入输出,但shell关闭i后会停止执行,可与 nohup 搭配实现后台执行