《达内2009 Unix学习笔记》是针对初学者编写的Unix操作系统学习资料,涵盖了命令行操作、文件管理及系统配置等基础技能,旨在帮助读者快速掌握Unix系统的使用方法。
集合
`set [--abefhkmnptuvxBCHP] [-o option] [arg ...]`
不带选项使用此命令时,会显示每个shell变量的名称和值,并以可以重新用作设置或重置当前已设变量的形式输出。只读变量不能被重置。在posix模式下,仅列出shell变量。根据当前区域排序输出结果。当指定选项时,它们用于设定或取消设定shell属性。剩余参数被视为位置参数的值并按顺序分配给$1, $2, ... $n。
选项有以下含义:
- `-a`:自动标记修改或创建的变量和函数为环境导出。
- `-b`:启用作业控制时,报告终止后台作业的状态,而不是在下一个主提示符前显示。
- `-e`:如果简单命令(见SHELL GRAMMAR)退出状态非零,则立即退出。但是当该失败的命令是while或until关键字后紧跟的命令列表的一部分、if语句中的测试部分、&& 或 || 列表的一部分,或者其返回值被!反转时除外。如果设置了ERR陷阱,则在shell退出前执行。
- `-f`:禁用路径名扩展。
- `-h`:记住查找执行命令的位置。默认情况下启用。
- `-k`:所有形式为赋值语句的参数都会放置到后续命令的环境中,而不仅仅是那些紧接于命令名称之前的参数。
- `-m`:作业控制模式。在支持它的系统上,默认用于交互式shell(见JOB CONTROL)。后台进程在一个单独的过程组中运行,并在其完成时打印一行退出状态。
- `-n`:读取但不执行命令。可用于检查脚本中的语法错误,被忽略的为交互式shell。
- `-o option-name`: 选项名称可以是以下之一:
- `allexport`:同于-a
- `braceexpand`:同于-B
- `emacs`:使用emacs风格的命令行编辑界面。默认情况下在交互式shell中启用,除非启动时使用了--noediting选项。
- `errtrace`:同于-E
- `functrace`:同于-T
- `errexit`: 同于-e
- `hashall`: 同于-h
- `histexpand`: 同于-H
- `history`: 使命令历史记录生效,如上文所述。默认在交互式shell中启用。
- `ignoreeof`:效果如同执行了Shell变量中的“IGNOREEOF=10”(见上方的Shell Variables)。
- `keyword`: 同于-k
- `monitor`: 同于-m
- `noclobber`: 同于-C
- `noexec`: 同于-n
- `nolog`:目前被忽略。
- `notify`: 同于-b
- `nounset`: 同于-u
- `onecmd`: 同于-t
- `physical`: 同于-P
- `pipefail`: 如果设置,管道的返回值将是最后一个(最右侧)命令退出非零状态时的状态码,或者如果所有命令都以零状态退出,则为0。