ubuntuusers.de

mounten mithilfe einer Schleife

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

ConzT

Anmeldungsdatum:
7. März 2015

Beiträge: Zähle...

Hi und guten Abend allerseits,

ich bin relativ neu was Linux angeht und bin gerade dabei ein Script zu schreiben, dass mir automatisch alle Laufwerke mountet die vorhanden sind.(Eigentlich brauche ich nur die Windows Laufwerke) Hier ist mein bisheriger Code...

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
fdisk -l | grep ^/dev/* | cut -d" " -f1 > test #Hier suche ich mir alle vorhandenen laufwerke heraus und schreibe diese in die datei test. Ist es hier möglich gleich nach ntfs bzw. nur windows Dateisystemen zu filtern? man von fdisk hat mir da nicht wirklich weitergefolfen...

anz=$(wc -l test | cut -d" " -f1) #Hier zähle ich wieviele Laufwerke vorhanden sind

i=1
while [ "$i" -lt "$anz" ] || [ "$i" -eq "$anz" ] #schleife soll solange laufen bis i < oder = der anzahl an Laufwerken ist.

do
	mkdir /media/$i      #hier werden ordner erstellt, in denen die laufwerke später gemountet werden sollen
	i=$(( $i + 1 ))      #i wir raufgezählt...
done


## Hier will ich dann die laufwerke mounten, passiert aber nix ;-) Der Code erklärt deneke ich, was ich versuche zu tun ;-)

i=1
while [ "$i" -eq "$anz" ] || [ "$i" -eq "$anz" ]
do
	mount /dev/sda$i /media/$i        
	i=$(( $i + 1 ))
done

Mein Mountvorgang ist wsl nicht die cleverste Lösung.. In die Datei test schreibe ich ja im Prinzip schon welche Laufwerke ich mounten will inkl pfad. Ist es möglich die Strings dort gleich zu entnehmen und so zu mounten? Ich werd mich mal bisschen spielen ☺

Danke für eure Hilfe!

ConzT

(Themenstarter)

Anmeldungsdatum:
7. März 2015

Beiträge: 14

läuft schon danke, habe mich im code geirrt .... 2x -eq in der while Schleife zum mounten.. 🙄

Trotzdem Vorschläge wie ich nur Windows LWs mounte? bei der swap partition schreibt er mir nämlich nen error, und die brauche ich sowieso net

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11265

Wohnort: München

Was spricht dagegen das einfach mit udev-Regeln zu lösen? Den Partition type oder auch das Dateisystem bekommt man ja als Attribut, auf das man reagieren kann:

$ udevadm info --query=all --name=/dev/sda1
[...]
E: DEVNAME=/dev/sda1
[...]
E: ID_FS_TYPE=ext4
[...]
E: ID_PART_ENTRY_TYPE=0x83
[...]

Damit spart man sich auch die Dauerschleife in einem extra Skript.

linuxer-nds

Anmeldungsdatum:
1. Februar 2015

Beiträge: 33

Hallo ConzT, falls es doch ein Skript sein soll, wie wäre es mit:

1
2
3
4
#root Rechte erforderlich 
for i in $(lsblk -l --output NAME,FSTYPE | egrep 'ntfs|vfat' | cut -d" " -f1);
do mount /dev/$i /media/$i    
done

Man könnte auch zB. nach UUID filtern, siehe lsblk. Praktischer ist es noch, wenn man den mount ersetzt durch

1
udisksctl mount -b /dev/$i

Dann wird in /media/ automatisch ein Mountpoint erzeugt.

MfG

Antworten |