set [-uvCHhmBx]
参数:
-u : 默认不启用 ,若启用后,当使用未设置变量时,会显示错误信息
-v :默认不启用,若启用后,在讯息被输出前,会先显示信息的原始内容
-x :默认不启用,若启用后,在命令被执行前,会显示命令内容(前面有++符号)
-h :默认启用,与历史命令有关
-H : 默认启用,与历史命令有关
-m :默认启用,与工作管理有关
-B :默认启用,与括号[]作用有关
-C :默认不启用,使用>等时,若文件存在时,该文件不会被覆盖
显示所有的set设置值
set -u
echo $hub
-bash : hub: unbound variable
若要取消这个参数,输入set +u即可
执行前,显示该命令的内容
set -x
echo $HOME
+ echo /root
/root
Bash环境中的特殊符号
- # 批注符号,最常使用在script当中,视为说明。其后的数据均不执行
- \ 转义符号,将“特殊字符或通配符”还原成一般字符
- | 管道(pipe),分割两个管道命令的界点
- ; 连续执行命令分隔符
- ~ 用户的主文件
- $ 使用变量前导符,即变量之前需要加的变量替代值
- & 作业控制 (job control),将命令变成背景下工作
- ! 逻辑运算符非(not)的意思
- / 目录符号,路径分割符
- >,>>数据流重定向 ,输出导向,分别是 “替换”与“累加”
- <,<<数据流重定向 ,输入导向
- ‘ ’ 单引号 ,不具有变量置换功能
- “ ” 具有变量置换功能
- ` 两个 返单引号中间为可以先执行的命令,也可以使用$()
- ( ) 在中间为子shell的起始于结束
- { } 中间为命令块组合