如何从系统运行的脚本中读取标准输出?

如何从系统运行的脚本中读取标准输出?

我想调试我放置在/etc/pm/sleep.d.在我的脚本中,我发出一个echo命令来报告状态。

我在哪里可以读取这个输出?我在想类似的东西dmesg或者也许是一个文件/var/log

这是更好的方法吗?调试应该由系统执行的 bash 脚本(如/etc/init.d/或 .中的脚本Xinit)时的标准做法是什么?

答案1

我发现echo您可以使用logger将命令输出到系统日志以进行调试,而不是使用 。

logger "Oh no"

然后,您可以在/var/log/syslog中检查输出

sudo tail /var/log/syslog

答案2

正如您已经提到的,您的脚本中有一个 echo 语句。

现在编辑你的脚本,就像在 shebang 之后的文件开头一样。

> /tmp/myoutput

myoutput 只是 /tmp 挂载中的一个文件名,您可以选择任何您想要的。

在此之后,您的脚本中的任何地方都有这样的 echo 语句

echo "something"

将其更改为

echo "something" >> /tmp/myoutput

就是这样,因此每次运行脚本时,您都会了解脚本所发生情况的最新情况。

相关内容