Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux
Moderator: Moderatoren
torbla
Member
Beiträge: 183 Registriert: 31. Aug 2004, 13:27
Wohnort: Mönchengladbach
Beitrag
von torbla » 18. Nov 2004, 14:34
Hallo Leute ich versuche ein Script zu schreiben das mir für den Benutzer ein Laufwerk einbindet. Das sieht so aus
Code: Alles auswählen
#!/bin/bash
sudo smbmount //PC/Freigabe /mnt-punkt -o username=tux, uid=tux,password=tux
So jetzt möchte ich das er mir sagt es hat gefunzt oder nicht.
Code: Alles auswählen
if /usr/bin/smbmount = sterr
then
echo "Laufwerk wurde nicht eingebunden! "
else
echo "Laufwerk wurde eingebunden"
fi
Leider funktioniert das nicht so. Habe auch schon die varianten
Dann zeigt er mir immer das es erfolreich war.
WAS MACHE ICH DEN FALSCH
ES IST LEICHTER EIN ATOM ZU SPALTEN, ALS VORURTEILE ABZUBAUEN (Albert Einstein)
Hermann
Hacker
Beiträge: 442 Registriert: 11. Mai 2004, 18:55
Wohnort: Duisburg
Kontaktdaten:
Beitrag
von Hermann » 18. Nov 2004, 14:49
torbla hat geschrieben: So jetzt möchte ich das er mir sagt es hat gefunzt oder nicht.
Hallo torbla, für mein Backup teste ich vorher ob das Ziel existiert so:
Mit mkdir versuche ich einen Ordner ".test_ordner_tmp" auf dem Ziel-Laufwerk zu erstellen, wenn es funktioniert ist alles O.K. und das Backup startet.
rmdir /pfad/.test_ordner_tmp >/dev/null
if mkdir /pfad/.test_ordner_tmp >/dev/null ; then
rmdir /pfad/.test_ordner_tmp >/dev/null
# Laufwerk existiert
# weitere Anweisungen
else
# Laufwerk existiert nicht
# weitere Anweisungen
fi
Gruß, Hermann
torbla
Member
Beiträge: 183 Registriert: 31. Aug 2004, 13:27
Wohnort: Mönchengladbach
Beitrag
von torbla » 18. Nov 2004, 15:02
Ne leider war das nicht die Lösung jetzt nur das else ? Geht aber nicht in die schleife
ES IST LEICHTER EIN ATOM ZU SPALTEN, ALS VORURTEILE ABZUBAUEN (Albert Einstein)
Hermann
Hacker
Beiträge: 442 Registriert: 11. Mai 2004, 18:55
Wohnort: Duisburg
Kontaktdaten:
Beitrag
von Hermann » 18. Nov 2004, 15:10
torbla hat geschrieben: Ne leider war das nicht die Lösung jetzt nur das else ? Geht aber nicht in die schleife
Hallo torbla, möchtest Du nur denn else Teil? Dann ein if ! (not):
rmdir /pfad/.test_ordner_tmp >/dev/null
if ! mkdir /pfad/.test_ordner_tmp >/dev/null ; then
# Laufwerk existiert nicht
# weitere Anweisungen
fi
Gruß, Hermann
torbla
Member
Beiträge: 183 Registriert: 31. Aug 2004, 13:27
Wohnort: Mönchengladbach
Beitrag
von torbla » 18. Nov 2004, 15:29
Also ich möchte das er beises macht den then Teil und dann den else Teil
if ! /usr/bin/smbmount >/dev/null ; then
echo " Hat leider nicht geklappt
else
echo hat geklappt
fi
Leider macht er nur den oberen Teil
ES IST LEICHTER EIN ATOM ZU SPALTEN, ALS VORURTEILE ABZUBAUEN (Albert Einstein)
Hermann
Hacker
Beiträge: 442 Registriert: 11. Mai 2004, 18:55
Wohnort: Duisburg
Kontaktdaten:
Beitrag
von Hermann » 18. Nov 2004, 16:09
torbla hat geschrieben: Also ich möchte das er beises macht den then Teil und dann den else Teil
Hallo torbla, so gibt es in jedem Fall eine Ausgabe:
#!/bin/bash
fehler=0
rmdir /pfad/.test_ordner_tmp >/dev/null
if mkdir /pfad/.test_ordner_tmp >/dev/null ; then
rmdir /pfad/.test_ordner_tmp >/dev/null
fehler=0
else
fehler=1
fi
if [ "$fehler" = "1" ] ; then
echo "Fehler"
else
echo "Alles i.O."
fi
Gruß, Hermann
Hermann
Hacker
Beiträge: 442 Registriert: 11. Mai 2004, 18:55
Wohnort: Duisburg
Kontaktdaten:
Beitrag
von Hermann » 18. Nov 2004, 16:57
Hallo torbla, noch eine Möglichkeit:
#!/bin/bash
sudo smbmount //PC/Freigabe /mnt-punkt -o username=tux, uid=tux,password=tux
wert=$?
der Exit-Code des letzten aufgerufenen Programms ist in der Variable $? abgelegt.
Hier gibt es eine Anleitung zur Shell-Programmierung die man downloaden kann:
http://www.selflinux.org
Gruß, Hermann
torbla
Member
Beiträge: 183 Registriert: 31. Aug 2004, 13:27
Wohnort: Mönchengladbach
Beitrag
von torbla » 19. Nov 2004, 11:24
Hallo hat funktioniert das Problem lag im Schleifenkopf der Fehler lag bei = es ist aber richtig -eq
und schon funzt es danke für das script das hat mir sehr geholfen.
ES IST LEICHTER EIN ATOM ZU SPALTEN, ALS VORURTEILE ABZUBAUEN (Albert Einstein)