cdcheck コマンド

目的

cdromd デーモンに、デバイスに関する情報を要求します。

構文

cdcheck { -a | -m | -u | -e } [ -q ] [ -h | -? ] DeviceName

説明

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。

  1. cdromd に cd0 が管理対象かを尋ねるには、次のように入力します。
    cdcheck -a cd0
  2. cdromd に、エラー・メッセージを書き出さずにメディアが cd1 にマウントされたかを尋ねるには、次のように入力します。
    cdcheck -m -q cd1
  3. cdromd に、メディアが cd1 にマウントされていないかを尋ねるには、次のように入力します。
          cdcheck -u cd1
  4. cdromd に、メディアが cd0 に存在しないかを尋ねるには、次のように入力します。
    cdcheck -e cd0
  5. シェル・スクリプトの例を次に示します。
    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