Percebi que cada imagem de DVD tem um nome em maiúscula semi-exclusivo. Existe uma maneira padronizada para eu simplesmente ler esse nome como um usuário não root no Linux? Estou em um derivado do Ubuntu 12.04 executando o kernel 3.7. Gostaria simplesmente de obter o nome de qualquer disco atualmente na unidade da seguinte forma:
DVD_NAME="$( ./read-dvd-name.sh )"
Respostas:
Você pode usar
blkid
para isso:(você precisa ter permissão de leitura
/dev/dvd
para isso).Ou:
para o qual você não precisa de nenhum privilégio especial (
udev
(executando como root) consulta o nome do rótulo usandoblkid
e atualiza um banco de dados do dispositivo com o qual você consultaudevadm
).fonte
Não tenho certeza se isso ajudaria você:
Minha desajeitada solução original:
fonte
isoinfo
-i /dev/cdrom
-d …
… -i
iso_image_filename
…
awk
é uma poderosa ferramenta de processamento de texto; você quase nunca precisa usá-lo em conjunto com outra ferramenta de processamento de texto , comogrep
. Seu pipeline,,grep "Volume id:" | awk '{print $3}'
pode ser simplificado paraawk '/Volume id: / {print $3}'
. (3) Os IDs de volume podem ter várias palavras, e essaprint $3
abordagem exibe apenas a primeira. Existem maneiras de lidar com issoawk
, mas uma abordagem mais fácil é canalizar a saída paraisoinfo
dentrosed -n 's/Volume id: //p'
. (4) Como uma verificação de sanidade, seria melhor procurar/^Volume id: /
.