
に配置したスクリプトをデバッグしたいです/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 ステートメントがあります。
次に、スクリプトを編集し、シェバンの後のファイルの先頭に次のように記述します。
> /tmp/myoutput
myoutput は /tmp マウント内の単なるファイル名なので、好きなものを選択できます。
この後、スクリプト内のechoステートメントがあるところはどこでも、
echo "something"
に変更する
echo "something" >> /tmp/myoutput
これで完了です。スクリプトが実行されるたびに、スクリプトで何が起こったかの最新の記録が残ります。