Я заметил, что у каждого образа DVD есть полууникальное заглавное имя. Есть ли для меня стандартизированный способ просто читать это имя как пользователь без полномочий root в Linux? Я работаю на Ubuntu 12.04 с производным ядром 3.7. Я хотел бы просто получить имя любого диска, находящегося в данный момент в приводе, например:
DVD_NAME="$( ./read-dvd-name.sh )"
Ответы:
Вы можете использовать
blkid
для этого:(для этого вам нужно иметь разрешение на чтение
/dev/dvd
).Или:
для которого вам не нужны никакие специальные привилегии (
udev
(с правами root) запрашивает имя метки, используяblkid
и обновляет базу данных устройства, с которой вы запрашиваетеudevadm
).источник
Я не уверен, поможет ли это вам:
Мое неуклюжее оригинальное решение:
источник
isoinfo
-i /dev/cdrom
-d …
… -i
iso_image_filename
…
awk
- мощный инструмент для обработки текста; вам вряд ли когда-нибудь понадобится использовать его в сочетании с другим инструментом для обработки текста, таким какgrep
. Ваш конвейерgrep "Volume id:" | awk '{print $3}'
может быть упрощен доawk '/Volume id: / {print $3}'
. (3) Идентификаторы тома могут состоять из нескольких слов, и этотprint $3
подход отображает только первое. Есть способы справиться с этим вawk
, но более простой подход состоит в том, чтобы передать выводisoinfo
вsed -n 's/Volume id: //p'
. (4) В качестве проверки работоспособности было бы лучше искать/^Volume id: /
.