volker01
Goto Top

Shell-Skript .sh Function, Schleife . ?

Hallo,
ich bin ein ein Shell Anfänger und suche Eure Unterstützung:

Ich habe ein Skript zum Mounten von Externen Festplatten geschrieben.
Das Skript funktioniert auch für "einen" externen Datenträger bereits,
es wird halt einmal von oben nach unten abgearbeitet.

Es soll aber universell sein, d.h. es gibt Benutzer-Vorgaben für mehrere mögliche externe Datenträger.

Nun möchte ich natürlich nicht den Code für jedes mögliche externe Laufwerk vervielfachen,
sondern diesen Codeblock für alle mögl. Laufwerke verwenden.

Außerdem soll das Skript natürlich nur abgearbeitet werden, wenn die Benutzervariable auch definiert ist:

Dev1VolSn=
Dev2VolSn=
Dev3VolSn=
...

Ich nehme das geht irgendwie mit FUNCTION?
Ich habe aber noch keinen Plan wie ich das hier umsetzten könnte.

Nachstehend mal der ertste Teil des Skriptes.

Kann jemand helfen?
vg
Volker

#!/bin/sh
# Benutzer-Vorgaben:
# VolumeLabels oder Seriennummern:
Dev1VolSn=5B49-83DB5
Dev2VolSn=
Dev3VolSn=493E-1BED5
# Beispiel: 5B49-83DB


# Mount-Verzeichnisse: (Pfad/Verzeichnis)
Dev1MountPt=/volumeUSB1/usbshare
Dev2MountPt=
Dev3MountPt=/volumeUSB2/usbshare
# Beispiel: /volumeUSB1/usbshare


Dev1Unmount=ja
Dev2Unmount=ja
Dev3Unmount=ja
# Unmount wenn:
# - Der Ziel-Mountpoint bereits fremdbelegt ist, und/oder
# - Der externe Datenträger ist bereits gemountet, hängt aber an einem anderem Mointpoint.
# ja oder nein


# SUCHE VOLUMELABEL ODER SN ...
echo "Suche nach  \"$Dev1VolSn\""  
sudo blkid -o list -w /dev/null | grep -w $Dev1VolSn
Dev1VolSn_EcResult=$?
echo ScriptCheck: Dev1VolSn_EcResult: \"$Dev1VolSn_EcResult\"  
if [[ $Dev1VolSn_EcResult = 0 ]]; then Dev1VolSn_Found=ja; else Dev1VolSn_Found=nein; fi
echo ScriptCheck: Dev1VolSn_Found: \"$Dev1VolSn_Found\"  
if [[ $Dev1VolSn_Found = ja ]]; then echo "Ok - VolumeLabel oder SN $Dev1VolSn erkannt - Laufwerk ist angeschlossen."; else echo "Fehler: VolumeLabel oder SN $Dev1VolSn NICHT erkannt - Laufwerk nicht angeschlossen!"; fi  
echo -e -n '\r\n' && echo -e -n '\r\n'  
# usw ...
# usw ...
exit

Content-Key: 392501

Url: https://administrator.de/contentid/392501

Ausgedruckt am: 19.03.2024 um 03:03 Uhr

Mitglied: 137808
137808 13.11.2018 um 14:47:06 Uhr
Goto Top