set -u 在 bash 脚本中做什么?

lac*_*der 25 bash shell-script

我已经看到 bash shell 脚本在其他一些命令之前有这个

set -u
Run Code Online (Sandbox Code Playgroud)

它有什么作用?我似乎找不到任何关于它的文档。

Pac*_*ist 32

-u  Treat unset variables as an error when substituting.
Run Code Online (Sandbox Code Playgroud)

你可以试试这个页面:

设置手册页

  • 或者[POSIX规范`set`](https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/V3_chap02.html#set)(其中对`-u`选项有更完整的描述)。 (4认同)