Seite 1 von 1
Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 16:15
von egon11
Hi, es geht um USB mount.
Ist es möglich, eine Variable abzugleichen, die im "subprocess" statt findet?
Ich möchte eine UUID vom USB vergleichen, und wenn es übereinstimmt, soll das subprocess command ausgeführt werden.
Hier die Variable
Code: Alles auswählen
command = "mount UUID=cff8e52e-96fb-43a4-98d9-a898b2869414 /home/usb"
Im Prinzip soll, wenn die UUID vorhanden ist, der Befehl "subprocess" ausgeführt werden.
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 16:20
von __deets__
Was ist "der USB"? Woher kommt man an die Variablen von "der USB"? Was sollen da fuer Variablen *im* subprocess stattfinden?
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 16:26
von egon11
Ich möchte einen USB mounten, ich hab die UUID, und wenn der USB mit der UUID eingesteckt ist, soll er gemountet werden.
Mir geht es jetzt nur darum, dass ich irgendwie die UUID abgleiche, so funktioniert das Script, nur wenn ein anderer USB eingesteckt wird mit einer anderen UUID (logischerweise), dann gibt es im Terminal ne Fehlermeldung "mount: can't find UUID=cff8e52e-96fb-43a4-98d9-a898b2869414".
Das möchte ich vermeiden, ich hab es schon mit try und except versucht, aber nicht mit Erfolg krönen können.
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 16:28
von __deets__
Du gibst nach wie vor nur irgendwelche Bruchstuecke zu Protokoll. Weder Code, noch eine ausfuehrliche Beschreibung davon, was du machst. Damit kann ich dir nicht helfen - viel Glueck.
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 16:31
von egon11
Mein code sieht zurzeit so aus:
Code: Alles auswählen
#!/usr/bin/python
import os
import subprocess
command = "mount UUID=cff8e52e-96fb-43a4-98d9-a898b2869414 /home/usb"
subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 16:33
von egon11
So mounte ich den bestimmten USB stick an die jeweilige stelle, wenn aber ein anderer USB angesteckt ist, dann gibt es ne Fehlermeldung, das möchte ich vermeiden.
Das Script möchte ich dann später noch erweitern.
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 16:34
von noisefloor
Hallo,
also normalerweise regelt man das auch so, dass man eine udev-Regel erstellt, die dann z.B. dein Python-Skript startet.
Das gezeigte Skript macht auch so wenig Sinn... warum ein Pythom-Skript, was man in der Shell mit einer Zeile lösen kann?
Gruß, noisefloor
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 17:41
von egon11
Ich wollte es so lösen, aber wenn das so einfach nicht machbar ist, dann muss ich es anders machen.
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 18:25
von egon11
Könnte man sowas mit "try" und "except" abfangen?
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 18:28
von __deets__
Nein. Dann ist es schon zu spaet im Sinne, das dein Kommando schon gelaufen ist, und vor allem: die UDEV-Regel hat schon zugeschlagen. Fuer andere Devices passiert also *nix*, nicht nur nicht das, was du willst.
UDEV ist dafuer *GEMACHT*, auf solche Bedingungen hin etwas konfigurierbares zu machen. Du bist schon an den Grenzen deiner Programmierkenntnisse, wenn es darum geht, eine Verzweigung einzubauen. Warum willst du unbedingt die Funktionalitaet von UDEV selbst nachprogrammieren?
Re: Variable abgleichen
Verfasst: Donnerstag 11. Januar 2018, 19:22
von egon11
OK dann lass ich es.
Trotzdem danke für die Hilfe.