是否有检测 CD 抽屉是打开还是关闭的命令?

Tim*_*Tim 7 command-line cd-drive

是否有可以在 shell 脚本中运行的命令来检测 CD 托盘是打开还是关闭,并根据它是否(或易于解释的东西)返回 1 或 0?

目前,我正在执行 open 命令,并计时执行所需的时间。如果它几乎是即时的,则它是开放的。如果需要时间,它是开放的,现在关闭。

我想要一种不涉及更改当前状态的方法 - 只是检测它。

ter*_*don 11

我在这里找到了一个不错的小解决方案。下面的 C 代码(从链接站点进行了最小程度的更改)将返回一个退出代码,0表示托盘是否打开1

因此,将此代码另存为(例如foo.c)并使用以下命令编译它:

gcc -o trayopen foo.c
Run Code Online (Sandbox Code Playgroud)

然后,将编译后的可执行文件复制trayopen/usr/bin

sudo cp trayopen /usr/bin
Run Code Online (Sandbox Code Playgroud)

你不应该做这样的事情

trayopen /dev/sr0 && echo closed
Run Code Online (Sandbox Code Playgroud)

或者,更完整:

gcc -o trayopen foo.c
Run Code Online (Sandbox Code Playgroud)

编码:

sudo cp trayopen /usr/bin
Run Code Online (Sandbox Code Playgroud)