[问题]请问 set +o 是什么意思?

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
patrickhe
帖子: 681
注册时间: 2005-07-21 19:13
来自: Peking, China
送出感谢: 0
接收感谢: 0
联系:

[问题]请问 set +o 是什么意思?

#1

帖子 patrickhe » 2007-02-25 16:24

在一篇文章中看到
[ian@pinguino ~]$ set +o nounset
[ian@pinguino ~]$ [ -o nounset ];echo $?
1
[ian@pinguino ~]$ set -u
[ian@pinguino ~]$ test -o nounset; echo $?
0
其中不明白的地方是 set +o 表示什么意思,set -u 又是什么意思?
我直接 man set 没有看到详细的说明档,是不是有更详细的 manual 呢?

多谢!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#2

帖子 eexpress » 2007-02-25 16:36

man bash
● 鸣学
头像
patrickhe
帖子: 681
注册时间: 2005-07-21 19:13
来自: Peking, China
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 patrickhe » 2007-02-25 16:37

在 LinuxCommand.org 查到了。

set +o nounset 表示把 OPTION nounset 设置为 OFF。若是 set -o nounset 的话,则相反,会把 nounset 设置为 ON。

set -u 则表示
Treat unset variables as an error when performing param-
eter expansion. If expansion is attempted on an unset
variable, the shell prints an error message, and, if not
interactive, exits with a non-zero status.
头像
patrickhe
帖子: 681
注册时间: 2005-07-21 19:13
来自: Peking, China
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 patrickhe » 2007-02-25 16:39

eexpress 写了:man bash
谢谢 eexpress。
回复

回到 “Shell脚本”