cdcheck コマンド
目的
cdromd デーモンに、デバイスに関する情報を要求します。
構文
説明
cdcheck コマンドは、cdromd デーモンに適切なコマンドを送信し、 使用されたフラグに応じて、メディアまたはデバイスに関する情報を入手します。
cdcheck コマンドはゼロ (真) 終了値を戻し、指定された条件が真の場合は stdout にメッセージを書き出します。真でない場合は、cdcheck コマンドはゼロ以外 (偽) の終了値を戻し、stderr にエラー・メッセージを書き出します。
デバイスが cdromd デーモンによって管理されているかを検査するには、
cdcheck コマンドに -a フラグを付けて使用します。
cdromd デーモンが稼働中で、そのデバイス・リストに指定されたデバイスが存在する場合、
cdcheck -a コマンドは stdout に以下のメッセージを書き出した後、
終了値ゼロ (真) を戻します。
cd<x> is managed by cdromd.
注: -a フラグを使用した場合に終了値がゼロ (真) であるということは、
メディアが挿入されると自動的にマウントされることを意味します。メディアが現在マウント済みであることは意味しません。
メディアが存在し、cdromd デーモンによってマウント済みかどうかを検査するには、
cdcheck コマンドに -m フラグを付けて使用します。
メディアをドライブに挿入してから、作動可能となってマウントされるまでに、数秒から数十秒かかります。
cdcheck -m コマンドは、cdromd
デーモンによるマウント操作の終了まで待機します。この操作が正常に行われると、cdcheck -m コマンドは、stdout にマウント・ポイントを書き出した後で、終了値ゼロ (真) を戻します。
注: メディアが損傷して cdromd デーモンによるマウントができない場合、
cdcheck -m コマンドはゼロ以外 (偽) の終了値を戻し、stderr
にエラー・メッセージを書き出します。
メディアは存在するが cdumount コマンドによってアンマウント済みかどうかを検査するには、
cdcheck コマンドに -u フラグを付けて使用します。
cdromd デーモンが稼働中で、指定されたデバイスがアンマウント済み状態の場合、
cdcheck -u コマンドは stdout に以下のメッセージを書き出した後、
終了値ゼロ (真) を戻します。
cd<x> is not mounted.
指定したデバイスにメディアが存在しないかを検査するには、
cdcheck コマンドに -e フラグを付けて使用します。
cdromd デーモンが稼働中で、ドライブにメディアが存在しない場合、
cdcheck -e コマンドは stdout に以下のメッセージを書き出した後、
終了値ゼロ (真) を戻します。
No media present in cd<x>.
cdcheck をシェル・スクリプトで使用している場合は、cdcheck コマンドに -q フラグを追加して、stdout および stderr にメッセージを書き出さないようにすることができます。ただし、 cdcheck コマンドに -m フラグを付けた場合は例外で、 このコマンドを使用すると常に stdout にマウント・ポイントが書き出され、 シェル・スクリプトがこのマウント・ポイントを入手できるようになります。
フラグ
| 項目 | 説明 |
|---|---|
| -a | デバイスが cdromd によって管理されているかを検査します。 |
| -e | メディアがデバイスから排出されたかを検査します。 |
| -h または -? | コマンドの使用法のメッセージを表示します。 |
| -m | メディアがデバイスにマウントされているかを検査します。 |
| -q | サイレント・モード (情報またはエラー・メッセージを書き出さない) を指定します。
注: -m フラグと共に -q を使用すると、
stdout にマウント・ポイントが書き出されます。
|
| -u | メディアがデバイスにマウントされていないかを検査します。 |
| DeviceName | デバイス名を指定します。 |
終了状況
このコマンドは次の終了値を戻します。
- 0
- 応答 = yes。
- >0
- 応答 = no または error。
例
- cdromd に cd0 が管理対象かを尋ねるには、次のように入力します。
cdcheck -a cd0 - cdromd に、エラー・メッセージを書き出さずにメディアが
cd1 にマウントされたかを尋ねるには、次のように入力します。
cdcheck -m -q cd1 - cdromd に、メディアが cd1
にマウントされていないかを尋ねるには、次のように入力します。
cdcheck -u cd1 - cdromd に、メディアが cd0
に存在しないかを尋ねるには、次のように入力します。
cdcheck -e cd0 - シェル・スクリプトの例を次に示します。
DEVICE=$1 if [ cdcheck -a -q "$DEVICE" ]; then AUTO_MOUNT="ON" else AUTO_MOUNT="OFF" fi # Other initializations # ... if [ "$AUTO_MOUNT" = "ON" ]; then MOUNT_POINT=`cdcheck -m -q $DEVICE` else MOUNT_POINT="/tmp/MyProg_$$" mount -rv cdrfs $DEVICE $MOUNT_POINT fi if [ $? -ne 0 ]; then echo "mount $DEVICE failed" exit 1 fi # Now extract data from $MOUNT_POINT... # ... # End of processing. Umount the media if [ "$AUTO_MOUNT" = "ON" ]; then cdeject -q $DEVICE else unmount $DEVICE fi if [ $? -ne 0 ]; then echo "unmount $DEVICE failed" exit 1 fi