Linux Set 命令

2025年3月17日 | 阅读 3 分钟

Linux set 命令用于在 shell 环境中设置和取消某些标志或设置。这些标志和设置决定了已定义脚本的行为,并有助于在不遇到任何问题的情况下执行任务。可以使用 set 命令更改或显示 shell 属性和参数的值。

语法

要了解如何在 Linux 中设置环境变量,请访问 这里

选项: set 命令支持的选项如下

  • -a: 用于标记将要导出或已创建的变量。
  • -b: 用于立即通知作业终止。
  • -e: 如果命令以非零状态退出,则立即退出。
  • -f: 用于禁用文件名生成(globbing)。
  • -h: 用于保存命令查找的位置。
  • -k: 用于将所有赋值参数放入命令的环境变量中,但命令名称之前的参数除外。
  • -m: 用于启用作业控制。
  • -n: 用于读取命令。
  • -o: 用于选项名称。
  • -p: 用于禁用对 '$ENV' 文件的处理和导入 shell 函数。当实际用户 ID 和有效用户 ID 不匹配时,此选项会被打开。关闭此选项可能会将工作 UID 和 GID 设置为授权的 UID 和 GID。
  • -t: 用于在执行一条命令后退出命令。
  • -u: 在进行替换时,将未设置的变量视为错误。
  • -v: 用于打印 shell 输入行。
  • -x: 用于按顺序(按执行顺序)打印命令及其参数。
  • -B: 用于由 Shell 执行花括号扩展。
  • -C: 用于禁止通过输出重定向覆盖现有的常规文件。
  • -E: 如果 ERR 陷阱被 shell 函数继承,则使用此选项。
  • -H: 用于启用风格历史替换。默认情况下,当 shell 是交互式时,此选项是打开的。
  • -P: 如果我们不想在执行命令时跟随符号链接,则使用此选项。
  • -T: 如果设置了此标志,则 DEBUG 陷阱将被 shell 函数继承。

注意:要关闭上述标志,请使用 '+' 符号而不是 '-' 符号。

为了更好地理解 set 命令,让我们简要介绍一下 shell 变量

Shell 变量

变量是一个可以保存值的字符串。赋给它的值可以是任何东西,例如数字、文件名、文本或任何其他数据类型。它就像一个指向实际数据的指针。Shell 允许我们创建、删除和赋值变量。

变量名可以包含任何字母、数字或下划线 (_) 字符。我们不能使用诸如“! * 或 -”之类的字符,因为这些特殊字符对 shell 有其他含义。根据 Unix 命名约定,Unix shell 变量必须使用大写字母。

set 命令示例

开启或关闭调试信息。

'-x' 选项与 set 命令一起使用,用于显示命令及其参数。这对于调试 shell 脚本很有用。

执行以下命令

开启调试信息

关闭调试信息

禁用 Bash 的默认行为。

要禁用 Bash 的默认行为,请按如下方式执行命令

立即停止脚本。

要立即停止脚本,请执行以下命令

获取帮助

如果您在使用 set 命令时遇到问题,可以从终端访问帮助文档。要访问帮助手册,请执行以下命令


下一个主题Linux export 命令