sh -c 和 exec 在提示符下有效,但在 Shebang 脚本中无效

sh -c 和 exec 在提示符下有效,但在 Shebang 脚本中无效

我尝试通过shell脚本执行Xsession注销:

xfce4-session-logout --logout

上述选项(或 -l)允许注销而无需确认。

它在 bash 提示符下工作正常,但我必须使用 sh -c 而不是 sh:

$> sh -c "xfce4-session-logout --logout"

exec 也可以正常工作:

$> exec xfce4-session-logout --logout

但是我无法让它在脚本中运行。理论上, exec 应该在脚本中工作,但是当我将代码放入脚本中时,没有注销操作。在尝试使用 >> error.log 2>&1 捕获错误时,我发现没有错误消息,而经过测试可以在日志中捕获其他错误。

还有其他方法可以解决 xsession-logout 问题吗?如果是 xfce4-session-logout 的错误,我可以在哪里报告这个错误?

警告:我使用了 devuan - 一个 systemd 免费发行版,我不确定它是否相关,例如 xfce4 工具是使用一些 systemd 依赖项构建的,而 Devuan 团队可能没有完全消除 systemd 对其分布式软件包的影响。

相关内容