我正在查看如何修复Debian中/etc/init.d/hostapd的问题。然而,我不知道这行代码是做什么的,也不知道它是如何工作的。
[ -n "$DAEMON_CONF" ] || exit 0
在网上搜寻bash教程时,我从未见过任何人这样做。
当我运行代码时,我的终端窗口关闭了(因为$DAEMON_CONF没有设置为任何值)。如果我改变代码为:
[ -n "not empty" ] || exit 0
我的控制台窗口无法关闭。
所以,-n被评估为true,与退出0进行或运算,结果是什么?
|| whatever
表示无论如何都会执行whatever
,只有当双竖线符号左侧的结果为假时(在 shell 语言中表示失败的退出代码)才会执行。@ElliotFrisch 的措辞更好。 - Dilettant