/dev/console
Mac OSXのいくつかのスクリプトでの使用を見てきましたが、それがどのように使用されているのかはわかりません。Console.appを確認したところ、テストコマンドの結果が表示されませんでした。
エコーテスト> / dev / console
そこに印刷されているので、それはどこに行くのですか、それともどのように使用しますか?
/dev/console
Mac OSXのいくつかのスクリプトでの使用を見てきましたが、それがどのように使用されているのかはわかりません。Console.appを確認したところ、テストコマンドの結果が表示されませんでした。
エコーテスト> / dev / console
そこに印刷されているので、それはどこに行くのですか、それともどのように使用しますか?
回答:
/dev/console
デバイスは、特にに関連していないコンソールアプリケーション。
Mac OS X 10.6では、コンソールアプリケーションは2種類のデータソースを読み取ります。通常のログファイル(例:のファイル/var/log/
)と、(Apple拡張)syslog機能を介してログに記録されるメッセージです。
監視するログファイルがある場合は、[ファイル ] > [ 開く ]メニュー項目(⌘O)を使用して、コンソールでファイルを表示できます。
注:コンソールのファイルリストからファイルを削除する唯一の方法は、[ファイル] > [ ゴミ箱に移動 ]メニュー項目(⌘⌫)を使用することです。Consoleでファイルの監視を停止したいだけの場合は、ファイルをゴミ箱から取り出す準備をしてください。
あなたは使用することができたsyslog syslogファシリティにメッセージを送信するコマンドラインプログラムを。
syslog -s Your message goes here. \(quote special chars for the shell'!)'
ただし、デフォルトの設定では、このメッセージは「レベル」が低すぎて重要ではないため、どのコンソールビューにも表示されません。この最初のフィルタリングは、syslogdによるものです。asl.conf
とsyslog.conf
ファイルで構成されます。レベルが低すぎる場合(およびsyslog -s
デフォルトで最低レベルに設定されている場合)、デフォルトの構成ではほとんどのメッセージが保存されません。コンソールは、syslogdによって保存されたメッセージのみを表示できます。
次の-l
オプションを使用して、「レベル」フィールドの値を変更できます。
syslog -s -l notice This message should show up in \"All Messages\" \
with a Facility of syslog.
notice
レベルは、そのため(デフォルト)最低レベルであるsyslogdがほとんどのメッセージを格納します。
このように生成されたメッセージは、Consoleの組み込み「All Messsages」データベース検索
に表示さAll Messages.aslquery
れます(ファイルは、/Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
技術的には、Facilityフィールドに空の文字列が「含まれている」メッセージに制限されますが、この条件は、任意のFacilityによって簡単に満たされます。値)。
コンソールの組み込みの「コンソールメッセージ」データベース検索にメッセージを表示したい場合は、もう少し具体的にする必要があります。等しいファシリティフィールドを持つ(保存された)メッセージのみを表示します(com.apple.console
のファイルConsole Messages.aslquery
を参照/Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
)。ファシリティフィールドを設定するオプションにより、そのようなメッセージをsyslogで生成でき-k
ます。
syslog -s -k Facility com.apple.console \
-k Level notice \
-k Message 'This will show up in "Console Messages"'
を使用する場合-k
、すべてのオプションとメッセージ自体を-k key value
引数のセットで指定する必要があります(-l
レベルの設定には使用できません)。つまり、メッセージを単一の引数にして、メッセージフィールドの値にする必要があります。