2016-02-14 35 views
1

我在执行某些操作的kali2016.1框中的/etc/init.d中有一个bash脚本。我的问题如下:在执行脚本./script {start | stop | restart |}时,会在控制台上显示echo的输出。然而,当我将它运行为service script {start | stop | restart | *}时,它会将echo输出记录在/var/log/daemon.log中。我如何改变这种行为,以便在作为服务执行时继续记录,并在控制台上显示回显输出?涵盖的基本知识如下:在控制台上显示init.d脚本回显

#!/bin/bash 
    case "$1" in 
     start) 
     echo "start" 
     ;; 
     stop) 
     echo "stop" 
     ;; 
     restart) 
     echo "restart" 
     ;; 
     *) 
     echo "usage {start|stop|restart}" 
     exit 1 
     ;; 
    esac 
    exit 0 
+0

将其作为守护进程运行,我使用'update-rc.d脚本默认值' –

回答

0

您可以echo "foo" > /dev/console

stdout连接到您的终端时,您会看到输出。根据您的描述,service命令将重定向/捕获stdout并将其发送到系统日志。

看看service - 它可能是一个shell脚本,所以你可以看到发生了什么。

FWIW,在大多数发行版中,包括CentOS7和AWS Linux,service脚本不会更改stdout