set命令
阅读数:116 评论数:0
跳转到新版页面分类
Linux
正文
一、概述
在 Linux 系统中,set
是一个 shell 内置命令,它用于设置和查看 shell 环境的参数和函数。set
命令的行为取决于所使用的 shell,比如 Bash、Zsh 或者其他兼容 POSIX 的 shell。
在 Bash 中,set
命令可以用于:
- 查看所有的 shell 变量和函数(不带任何选项时)。
- 改变 shell 选项和位置参数。
- 启用或禁用 shell 特性和行为
1、设置shell选项
set
命令可以用来启用 (-
) 或禁用 (+
) shell 选项。例如:
- 启用 shell 的调试模式,打印每个命令及其参数列表:
set -x
- 禁用调试模式:
set +x
2、设置位置参数
set
命令还可以用来设置位置参数($1, $2, ...)。例如:
set -- arg1 arg2 arg3
这会设置 \$1
的值为 arg1
,\$2
的值为 arg2
,依此类推。
二、常用参数
allexport -a 从设置开始标记所有新的和修改过的用于输出的变量
braceexpand -B 允许符号扩展,默认选项
emacs 在进行命令编辑的时候,使用内建的emacs编辑器, 默认选项
errexit -e 如果一个命令返回一个非0退出状态值(失败),就退出.
histexpand -H 在做临时替换的时候允许使用!和!! 默认选项
history 允许命令行历史,默认选项
ignoreeof 禁止coontrol-D的方式退出shell,必须输入exit。
interactive-comments 在交互式模式下, #用来表示注解
keyword -k 为命令把关键字参数放在环境中
monitor -m 允许作业控制
noclobber -C 保护文件在使用重新动向的时候不被覆盖
noexec -n 在脚本状态下读取命令但是不执行,主要为了检查语法结构。
noglob -d 禁止路径名扩展,即关闭通配符
notify -b 在后台作业以后通知客户
nounset -u 在扩展一个没有的设置的变量的时候, 显示错误的信息
onecmd -t 在读取并执行一个新的命令后退出
physical -P 如果被设置,则在使用pwd和cd命令时不使用符号连接的路径 而是物理路径
posix 改变shell行为以便符合POSIX要求
privileged 一旦被设置,shell不再读取.profile文件和env文件 shell函数也不继承任何环境
verbose -v 为调试打开verbose模式
vi 在命令行编辑的时候使用内置的vi编辑器
xtrace -x 打开调试回响模式