В моем сценарии linux bash я хочу дождаться одного из следующих событий:
или
К сожалению, все команды для проверки носителя в приводе сначала закрывают лоток, и я не хочу этого делать - должно оставайся открытым и дождитесь, когда DVD вставит пользователь.
Не могли бы вы посоветовать мне, как это сделать?
Мне удалось решить проблему с помощью:
udisks --show-info $1 |grep -c "blank: *1"
Он проверяет, является ли вставленный носитель пустым, не закрывая лоток.
Это сильно зависит от платформы. Что вам может потребоваться, это либо (а) разобрать /var/log/messages
для событий ascpi или (б) в зависимости от платформы, отслеживать изменения в DBUS. Когда вы открываете и закрываете лоток, генерируются события, которые можно обнаружить, но это может быть больше проблем, чем того стоит. В любом случае, метод DBUS будет работать для популярных дистрибутивов, таких как Fedora и Ubuntu, из коробки.
Удачи; Мне определенно интересно посмотреть, как это получится!
РЕДАКТИРОВАТЬ: нашел хороший пост в блоге, который делает это из Python, но поскольку DBUS не зависит от приложений, вы можете использовать некоторые значения со страницы.