下面为set主要选项的列表及其表述:
选项名 | 开关缩写 | 描述 |
---|
allexport | -a | 打开此开关,所有变量都自动输出给子Shell。 |
noclobber | -C | 防止重定向时文件被覆盖。 |
noglob | -d | 在路径和文件名中,关闭通配符。 |
#打开该选项
[root@xieqichao ~]# set -o allexport #等同于set -a
#关闭该选项
[root@xieqichao ~]# set +o allexport #等同于set +a
#列出当前所有选项的当前值。
[root@xieqichao ~]# set -o
allexport off
braceexpand on
emacs on
errexit off
errtrace off
functrace off
hashall on
histexpand on
... ...
[root@xieqichao ~]# set -o noclobber #打开noclobber选项,防止在重定向时原有文件被覆盖。
[root@xieqichao ~]# date > outfile #通过date命令先生成一个文件outfile。
[root@xieqichao ~]# ls > outfile #将ls命令的输出重定向到该文件outfile,shell将提示不能覆盖已经存在的文件。
-bash: outfile: cannot overwrite existing file
[root@xieqichao ~]# set +o noclobber #关闭noclobber选项。
[root@xieqichao ~]# ls > outfile #重新将ls的输出重定向到outfile,成功。