语法
tty:终端设备的统称,终端是一种字符型设备,他有多种类型,通常使用tty来简称各种类型的终端设备。
终端模拟器: 比如 Mac中的 iTerm2等 关联虚拟tty的输入输出软件
Shell: 可以处理来自终端模拟器的输入,解释执行后输出结果给终端,也是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
bash是一个命令处理器, 运行在文本窗口中, 并能执行用户直接输入的命令.还能从文件中读取Linux命令, 称之为脚本.bash支持通配符, 管道, 命令替换, 条件判断等逻辑控制语句
类型 | 作用域 | 声明方式 | 规范 |
---|---|---|---|
自定义变量 | 当前shell | =(隐式声明) | 字符串、整型、浮点型、日期型 |
环境变量 | 当前shell及其子shell | export declare -x(显示声明) | |
系统环境变量 | 所有shell | 启动加载 |
系统环境变量
$0: 表示当前脚本/shell的名称
$#: 表示传入脚本的参数的个数
$*: 传入脚本的所有参数
$? 上条命令执行的状态码
$PS1 命令提示符
$HOME 用户主文件夹
$PATH 全局命令的搜索路径
declare选项的含义
- 给变量设定类型属性
- 取消变量的类型属性
-
a将变量声明为数组类型
-
i将变量声明为整数型
-
x将变量声明为环境变量
-
r将变量声明为只读变量
-
p显示指定变量的被声明的类型
运算符
算术运算符
+-*/%
逻辑运算符
| &
比较运算符
== != < >
引号
'' 所有内容保留原样
"" 仅 $ ` \ 保留作用 `` 内容作为命令执行,将其输出作为结果
括号
(()) 算术运算
() 执行命令
命令连接
&& 前面的命令执行成功后执行后面的命令
; 两条命令串行执行
后台执行
& 用在命令结尾,使命令不占用输入输出,但shell关闭i后会停止执行,可与 nohup 搭配实现后台执行