So erfassen und verarbeiten Sie 2 Ausgabewerte

So erfassen und verarbeiten Sie 2 Ausgabewerte

Ich versuche, eine narrensichere Lösung zu finden, um mithilfe von DD ein Bild auf eine Speicherkarte zu schreiben.

Idee: Ich möchte ein Skript auf dem System platzieren, das andere ausführen können, ohne Kenntnisse über das Schreiben von Bildern zu haben.

Die Größe des Bildes kann sich ändern, daher muss vorab eine Abfrage ausgeführt werden, um die Größe zu bestimmen.

isoinfo -d -i /media/usb/image.iso | grep -i -E 'block size|volume size' | sed 's/^.*is: \(.*\)/\1/'

um die Zahlen für Block- und Volumegröße zu erhalten. Jetzt muss ich die Werte in den folgenden Code einbauen

dd if=/media/usb/image.iso of=/dev/sdc bs=2048 count=96053 status=progress

Ich habe versucht, dies durch automatisches Ausfüllen von bs= und count= zu lösen, kann jedoch nicht herausfinden, wie ich die Ausgabe des ersten Codeteils erfassen und verarbeiten kann.

Ich habe xargs ausprobiert, aber das hat mir nicht viel geholfen. Ich hoffe, Sie haben eine Lösung für mich.

Grüße Jan

Antwort1

bsSie müssen und nicht countauf bestimmte Werte setzen, wenn Sie das gesamte Image zum Ziel kopieren möchten. Stellen Sie einfach sicher, dass die Blockgröße groß genug gewählt ist, um einen schnellen Kopiervorgang zu gewährleisten, wie bs=16M. Ohne dass countdie gesamte Eingabe kopiert wird, z. B.

dd if=/media/usb/image.iso of=/dev/sdc bs=16M status=progress

verwandte Informationen