Ich habe festgestellt, dass jedes DVD-Image einen halb eindeutigen Großbuchstaben hat. Gibt es eine standardisierte Möglichkeit für mich, diesen Namen als Nicht-Root-Benutzer unter Linux einfach zu lesen? Ich bin auf einem Ubuntu 12.04-Derivat, auf dem Kernel 3.7 ausgeführt wird. Ich möchte einfach den Namen einer Festplatte abrufen, die sich derzeit im Laufwerk befindet:
DVD_NAME="$( ./read-dvd-name.sh )"
Antworten:
Sie könnten dafür verwenden
blkid
:(Dazu benötigen Sie eine Leseberechtigung
/dev/dvd
).Oder:
Für die Sie keine besonderen Berechtigungen benötigen (
udev
(als Root ausgeführt), wird der Labelname mithilfeblkid
einer Gerätedatenbank abgefragt und aktualisiert, mit der Sie abfragenudevadm
).quelle
Ich bin mir nicht sicher, ob dies Ihnen helfen würde:
Meine ungeschickte ursprüngliche Lösung:
quelle
isoinfo
-i /dev/cdrom
-d …
… -i
iso_image_filename
…
awk
ist ein leistungsstarkes Textverarbeitungswerkzeug. Sie müssen es kaum in Verbindung mit einem anderen Textverarbeitungswerkzeug wie zgrep
. Ihre Pipelinegrep "Volume id:" | awk '{print $3}'
kann vereinfacht werdenawk '/Volume id: / {print $3}'
. (3) Volume-IDs können aus mehreren Wörtern bestehen, und bei diesemprint $3
Ansatz wird nur das erste angezeigt. Es gibt Möglichkeiten, dies zu handhabenawk
, aber ein einfacherer Ansatz besteht darin, die Ausgabe vonisoinfo
in zu leitensed -n 's/Volume id: //p'
. (4) Zur Überprüfung der geistigen Gesundheit ist es besser, nach zu suchen/^Volume id: /
.