Ich möchte ein Nebenskript oder eine Einstellungsänderung, die ein zweites oder primäres Skript auslöst, das die eigentliche Arbeit erledigt. Ich muss das nicht nur für meinen Computer tun. Es sollte also auf jedem Linux-Computer funktionieren.
Ich muss den Pfad (und damit den Inhalt) eines frisch gemounteten USB-Sticks kennen, damit ich ein Skript ausführen kann, das Daten auf dem USB-Stick verwendet, für die ich den Pfad benötige. Ich habe einiges über udev gelesen, aber das war nicht erklärend genug. Dieser Befehl:
ACTION=="add", ATTRS{idVendor}=="abcd", ATTRS{idProduct}=="1234", RUN+="/home/bibi/bin/xyz.sh
richtet einen USB-Stick so ein, dass jedes Mal ein Skript ausgeführt wird, wenn ein Gerät daran angeschlossen wird. Aber wie finde ich den Pfad des USB-Laufwerks heraus? (z. B. /home/???
)
Vielen Dank im Voraus. Entschuldigen Sie, wenn die Daten nicht ausreichen oder ich etwas übersehen habe
Antwort1
Eine einfache Möglichkeit wäre die VerwendungUUIDs. Jede Partition hat eine eindeutige Adresse, die Sie in Ihren Skripten verwenden können.
ls -l /dev/disk/by-uuid
Dieser Befehl zeigt die UUID für jedes Laufwerk an, das aktuell als symbolischer Link zur Partition gemountet ist (ein USB-Laufwerk kann mehr als eine Partition haben).
Diese Codes werden zufällig generiert und haben genug Entropie, dass sie wahrscheinlich nie kollidieren, mit Ausnahme der FAT32-Partition (die nur eine Zeichenfolge mit acht Hex-Ziffern hat, also 8^16 = 281.474.976.710.656 Auswahlmöglichkeiten).
blkid
Möglicherweise möchten Sie auch die Befehle und überprüfen findfs
.