Am Dienstag, 17. Oktober 2006 00:49 schrieb David Haller:
Hallo,
Am Die, 17 Okt 2006, Al Bogner schrieb:
Am Montag, 16. Oktober 2006 19:47 schrieb Al Bogner:
Zur Identifikation des Sticks könnte eventuell lshal hilfreich sein. Ich weis aber nicht, wie man "usb_device.serial" auf /dev/sdx umlegt.
Ich denke, ich habe die Lösung für den ersten Teil:
fdisk -l | grep /dev/sd | grep -v "Disk" | cut -c1-8 | xargs \ -r -n1 udevinfo -q env -n | grep "ID_SERIAL"
ID_SERIAL=Hama_CardReaderMMC.SD_ABCD12xxxxxx ID_SERIAL=SWISSBIT_Twist_40479E4643xxxxxx
Die Frage ist nun, wie ich möglichst effizient alle Devices scanne und unter der Bedingung "ID_SERIAL=SWISSBIT_Twist_40479E4643xxxxxx" weitere Befehle ausführe.
for d in `fdisk -l | awk '/^\/dev\/sd/ { print $1; }'`; do eval `udevinfo -q env -n "$d" | grep 'ID_SERIAL'` case "$ID_SERIAL" in Hama_CardReaderMMC.SD_ABCD12xxxxxx)
: machwas mit dem Hama
;; SWISSBIT_Twist_40479E4643xxxxxx)
: machwas mit dem Swissbit
;; esac done
Wenn die "machwas" mehr als 2-4 Zeilen gross werden ist es sinnvoll, diese in eine Funktion auszulagern.
Hallo David, ich hatte auch schon überlegt es mit eval zu machen, aber mit awk bzw. Regex bin ich nicht so befreundet, weil ich es _unbedingt_ so selten brauche. ;-) machwas wird vermutlich länger werden, bis auf das exit, falls kein bekannter Stick vorhanden ist. Ich denke ich schreibe einfach eine Bedinung rein und wie die erfüllt ist wird später der Stick mit bestimmten Daten beschrieben. Das Partitionieren bzw. Formatieren sollte immer ident sein, nur eben die Größe der Sticks ist unterschiedlich. Wenn kein Stick erkannt wurde, wird das Script beendet. Ich frage mich zur Zeit, wie ich formatieren soll. Mit parted oder fdisk? Bei fdisk müsste ich etwas mit "<" machen. fdisk /dev/hda < partinfo_$ID Es müsste irgendwie so gehen: cat "partinfo_$ID" << partinfo bla bla partinfo Ich bin mir nur nicht klar, wie ich das mache, ohne eine Datei anzulegen. Da Testen als root mit Partitonieren nicht ungefährlich ist, suche ich nach Beispielen, was ich da genau als Text übergeben muss. Es wurde jedenfalls mit badblocks vorher "gelöscht", sodass keine Partitionstabelle vorhanden ist. Ich will also 1 primäre Partition anlegen, Würde das ok sein: n p 1 t b Also new - primär - 1. Partition - Tyb - FAT32 Oder sollte ich es besser mit parted machen? Der Vorteil von fdisk ist, dass es wahrscheinlicher installiert ist. Al