如此简单的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的信息。
较长的脚本可以自动执行作业,这很有意义,以上两行是显示整个脚本状态的最后一步。
答案 0 :(得分:1)
将--no-pager
传递到systemctl
,如下:
systemctl --no-pager status cron
否则,systemctl运行less
(或类似的程序),直到按下q
才退出。因此,控制权不会直接交还给您的脚本。
在Unix & Linux的姐妹网站Can I prevent service foo status
from paging its output through less
?上查看相关问题