set 命令
设定或取消设定shell选项和位置参数的值,或者显示shell变量的名称和值。
语法
set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
选项:
- -a 标示已修改的变量,以供输出至环境变量。
- -b 使被中止的后台程序立刻回报执行状态。
- -e 如果一个命令以非零状态退出,则立即退出。
- -f 禁用文件名生成(模式匹配)
- -h 在查找命令时记住命令的位置。。
- -k 指令所给的参数都会被视为此指令的环境变量。
- -m 使用监视模式。
- -n 只读取指令,而不实际执行。
- -p 启动优先顺序模式。
- -P 启动-P 参数后,执行指令时,会以实际的文件或目录来取代符号连接。
- -t 执行完随后的指令,即退出 shell。
- -u 当执行时使用到未定义过的变量,则显示错误信息。
- -v 显示 shell 所读取的输入值。
- -x 执行指令后,会先显示该指令及所下的参数。
- +<参数> 取消某个 set 曾启动的参数。
- -B shell将执行花括号扩展
- -C 设定之后禁止以重定向输出的方式覆盖常规文件
- -H 启用!风格的历史替换。当shell是交互式的时候这个标识位默认打开
- -P 设定之后类似cd的会改变当前目录的命令不追踪符号链接
实例
显示所有本地定义的Shell变量
# set
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="00" [2]="15" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")
BASH_VERSION='3.00.15(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=99
DIRSTACK=()
EUID=0
GROUPS=()
G_BROKEN_FILENAMES=1
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/root
HOSTNAME=hnlinux
HOSTTYPE=i386
IFS=$' '
INPUTRC=/etc/inputrc
KDEDIR=/usr
LANG=zh_CN.GB2312
LESSOPEN='|/usr/bin/lesspipe.sh %s'
LINES=34
L
MAIL=/var/spool/mail/root
MAILCHECK=60
OLDPWD=/home/uptech
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/crosstools/gcc-3.4.6-glibc-2.3.6/bin
PIPESTATUS=([0]="2")
PPID=26005
PROMPT_COMMAND='echo -ne "