目录
set
命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。本章介绍set
的基本用法,帮助你写出更安全的 Bash 脚本。
简介
我们知道,Bash 执行脚本时,会创建一个子 Shell。
$ bash script.sh
上面代码中,script.sh
是在一个子 Shell 里面执行。这个子 Shell 就是脚本的执行环境,Bash 默认给定了这个环境的各种参数。
set
命令用来修改子 Shell 环境的运行参数,即定制环境。一共有十几个参数可以定制,官方手册有完整清单,本章介绍其中最常用的几个。
顺便提一下,如果命令行下不带任何参数,直接运行set
,会显示所有的环境变量和 Shell 函数。
$ set
set -u
执行脚本时,如果遇到不存在的变量,Bash 默认忽略它。
#!/usr