Solaris モジューラデバッガ

シェルエスケープ

! 文字を使用して、MDB コマンドとユーザーのシェル間のパイプラインを作成できます。シェルエスケープは、mdb の使用時にのみ利用でき、kmdb の使用時には利用できません。$SHELL 環境変数が設定されている場合、MDB はそのプログラムをシェルエスケープのためにフォーク (fork) したり、実行 (exec) したりします。変数が設定されていない場合は、/bin/sh コマンドが使用されます。シェルは、-c オプション付きで呼び出されます。-c オプションのあとには、感嘆符 (!) の後ろのワードを結合して生成される文字列が続きます。

! 文字は、ほかのどのメタキャラクタよりも高い優先度を持っています。 ただし、セミコロン (; ) と復帰改行文字は例外です。シェルエスケープが検出されたあと、次のセミコロンまたは復帰改行文字までの残りの文字列は、そのままシェルへ渡されます。シェルの出力コマンドを MDB dcmd へパイプすることはできません。シェルエスケープによって実行されたコマンドは、その出力を MDB へは送らずに、直接端末へ送ります。