如何從系統運行的腳本讀取標準輸出?

如何從系統運行的腳本讀取標準輸出?

我想調試我放置在/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

就是這樣,因此每次執行腳本時,您都會了解腳本所發生情況的最新情況。

相關內容