对于文件/etc/bashrc中的一段代码有疑问:
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
这里面最内部的if
语句中的两个分支有什么区别? 重定向到/dev/null就意味着文件$i
没被执行吗?
为什么不去Google一番之后再来提问?
Shell 默认选项 himBH 的解释
我刚刚发现我也不会这个问题,所以我就去Google了一番,立马就出来了。如果你上不了Google,建议你去购买翻墙软件或者自己去外网购买搭建代理服务器
至于为什么会出现
>/dev/null
,很简单,就是输出重定向。上面分支不会出现输出,下面分支会出现输出,/dev/null
是一个类似黑洞的玩意,什么东西丢进去,就相当于删除掉了你把上面链接中的文章看了,为什么知道为什么2个分支有的分支之后有的有输出,有的没有输出了