代码之家  ›  专栏  ›  技术社区  ›  showkey

exit命令在显示服务信息后不能退出bash shell?

  •  0
  • showkey  · 技术社区  · 5 年前

    简单的bash脚本只包含两行。

    cat show.sh
    systemctl status cron
    exit  0 
    

    用根在终端上执行。

    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的信息。
    一个长脚本自动化一个作业是有意义的,上面的两行是显示整个脚本状态的最后一步。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Charles Duffy    5 年前

    通过 --no-pager systemctl ,如下:

    systemctl --no-pager status cron
    

    否则,系统ctl会运行 less (或类似的程序),直到 q 被按下;因此,控件不会直接返回到脚本。


    在我们的姐妹网站上查看相关问题 Unix & Linux Can I prevent service foo status from paging its output through less ?

    推荐文章