gpt4 book ai didi

bash - 退出命令在显示服务信息后无法退出 bash shell?

转载 作者:行者123 更新时间:2023-12-05 01:39:57 25 4
gpt4 key购买 nike

如此简单的 bash 脚本,仅包含两行。

cat show.sh
systemctl status cron
exit 0

在终端中使用 root 执行它。

bash  show.sh

有关 cron.service 的所有信息都显示在终端上。

cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: ena
Active: active (running) since Sat 2019-08-10 06:51:18 EDT; 13h ago
Docs: man:cron(8)

为什么show.sh不处于退出状态,添加点击q会退出show.sh,为什么exit 0不执行?如何触发?
我的期望:在终端上显示有关 cron.service 的信息并退出 show.sh 脚本。
我的 show.sh 已经完成一半,只需在终端上显示有关 cron.service 的信息。
一个长脚本自动化一个工作是有意义的,上面两行是显示整个脚本状态的最后一步。

最佳答案

--no-pager传递给systemctl,如下:

systemctl --no-pager status cron

否则,systemctl 会运行 less(或类似的程序),直到按下 q 才会退出;因此,控制权不会直接交还给您的脚本。


请参阅我们姊妹网站上的相关问题 Unix & LinuxCan I prevent service foo status from paging its output through less?

关于bash - 退出命令在显示服务信息后无法退出 bash shell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57446616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com