cdcheck 命令
用途
询问 cdromd 守护程序有关设备的信息。
语法
描述
cdcheck 命令发送适当的命令至 cdromd 守护程序,以根据所使用的标志获取有关介质或设备的信息。
如果指定的条件为真,那么 cdcheck 命令会返回零(true)退出值并在 stdout 上打印消息。 否则,cdcheck 命令返回非零(false)退出值并在 stderr 上打印错误消息。
要检查设备是否由 cdromd 守护程序管理,使用具有 -a
标志的 cdcheck 命令。 如果正在运行 cdromd 守护程序且指定的设备位于它的设备列表中,那么 cdcheck -a 命令将在 stdout 上打印以下消息之后返回零(true)退出值:
cd<x> is managed by cdromd.
注: 带有 -a 标志的退出值为零 (True) 表示插入介质时将自动安装介质。 这并不意味着当前装有介质。
要检查是否存在某介质及 cdromd
守护程序是否安装了该介质,使用具有
-m 标志的 cdcheck 命令。 当某介质已插入驱动器,从它做好准备以至安装完毕要花几秒或几十秒钟。
cdcheck -m 命令会一直等待直至 cdromd 守护程序的安装操作结束。 如果此操作成功,cdcheck -m 命令在 stdout 上打印安装点后,会返回零(true)退出值。
注意:如果介质已损坏,cdromd守护进程无法加载,cdcheck-m命令将返回非零(假)退出值,并在stderr 上打印错误信息。
要检查此介质是否存在且是否由
cdumount 命令卸载,使用具有 -u 标志的 cdcheck 命令。 如果正在运行 cdromd 守护程序且指定的设备处于卸载状态,
cdcheck -u 命令在 stdout 上打印以下消息后会返回零(true)退出值:
cd<x> is not mounted.
要检查指定的设备中是否无介质,使用具有 -e 标志的 cdcheck 命令。 如果正在运行 cdromd 守护程序且驱动器中没有介质存在,那么 cdcheck -e 命令在 stdout 上打印以下消息后会返回零(true)退出值:
No media present in cd<x>.
在 shell 脚本中使用 cdcheck 时, -q 标志可添加至 cdcheck 命令,这样不会在 stdout 和 stderr 上打印任何消息。 仅有的例外是具有 -m 标志的 cdcheck 命令,它总是在 stdout 上打印安装点,这样 shell 脚本就能获取此安装点。
标志
| 项 | 描述 |
|---|---|
| -a | 检查设备是否由 cdromd 管理。 |
| -e | 检查介质是否从设备弹出。 |
| -h 或 -? | 显示命令用法的消息。 |
| -M | 检查介质是否安装在设备上。 |
| -q | 指定静默方式:不打印任何信息或错误消息。 注: 如果 -q 与 -m 标志一起使用,那么安装点将打印到 stdout。
|
| -U | 检查介质是否未安装在设备上。 |
| DeviceName | 指定设备名称。 |
退出状态
本命令返回以下退出值:
- 0
- 回答 = 是。
- >0
- 回答 = 否或错误。
示例
- 要向 cdromd 询问 cd0 是否已被管理,请输入:
cdcheck -a cd0 - 要向 cdromd 询问介质是否安装在
cd1 上且不打印任何错误消息,请输入:
cdcheck -m -q cd1 - 要向 cdromd 询问介质是否未安装在
cd1 上,请输入:
cdcheck -u cd1 - 要向 cdromd 询问介质是否不存在于
cd0 上,请输入:
cdcheck -e cd0 - shell 脚本示例:
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