在我的Linux bash脚本中,我想等待下列其中一个事件:
要么
不幸的是,检查驱动器中的介质的所有命令首先closures托盘,而我不想这样做 – 它应该保持打开并等待用户插入DVD。
你可以请教我怎么做?
这是高度平台特定的。 你可能需要做的是(a)为ascpi事件parsing/var/log/messages ,或者(b)根据平台, 监视DBUS的变化 。 当您打开和closures托盘时,会生成可检测到的事件,但这可能比其价值更麻烦。 无论如何,DBUS方法将适用于stream行的发行版,如Fedora和Ubuntu开箱即用。
祝你好运; 我绝对有兴趣看到这是怎么回事!
编辑:find一个很好的博客post,这是从Python做到这一点,但由于DBUS被devise为应用程序不可知的,你可以使用一些从页面的值。
我设法解决这个问题:
udisks --show-info $1 |grep -c "blank: *1"
它检查插入的介质是否为空,而不closures托盘。