📜  Linux Set命令

📅  最后修改于: 2020-12-07 06:06:55             🧑  作者: Mango

Linux Set命令

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

句法:

set [options]

要了解如何在此处。

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

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

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

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

外壳变量

变量是一个<字符>,可容纳的值。分配的值可以是任何数字,例如数字,文件名,文本或任何其他数据类型。就像指向实际数据的指针一样。 Shell使我们可以创建,删除和分配变量。

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

set命令的示例

打开或关闭调试信息。

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

执行以下命令:

要打开调试信息:

set -x

要关闭调试信息:

set +x

禁用Bash的默认行为。

要禁用Bash的默认行为,请执行以下命令:

set -C

立即停止脚本。

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

set -e

获得帮助

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

set --help