什么是[-n"$ VARIABLE"] || 退出0意味着

Kea*_*ffe 4 bash shell

看看纠正Debian上/etc/init.d/hostapd中的问题.但是,我不知道这行代码是做什么的,也不知道它是如何工作的

[ -n "$DAEMON_CONF" ] || exit 0
Run Code Online (Sandbox Code Playgroud)

在网上搜索bash教程时,我从未见过有人这样做过

当我运行代码时,我的shell窗口关闭(因为$ DAEMON_CONF未设置为任何内容).如果我将代码更改为

[ -n "not empty" ] || exit 0
Run Code Online (Sandbox Code Playgroud)

我的控制台窗口没有关闭.

所以,-n的计算结果为真,而且,或者退出0,是什么?

Ell*_*sch 5

如果表达式[]返回false,则在or ||(和exit 0)之后执行.否则,它将短路并且将评估下一个语句.