Rückgabewert eines Befehls

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
rsyncnaggi
Beiträge: 38
Registriert: 10.07.2006 15:44:22

Rückgabewert eines Befehls

Beitrag von rsyncnaggi » 18.09.2006 09:23:11

Hallo,

ich habe schon ein wenig gegoogelt, fand aber nichts über mein Problem:

Ich möchte einen Ordner von Server A nach Server B sichern. Auf Server A läuft ein Windows XP Professional. Server B hat ein Debian mit Kernel 2.6.8 installiert.

Mit smbmount mounte ich entsprechenden Ordner von A auf B. So jetzt geht es darum, dass ich den Ordner von A nach B kopieren will (oder rsync oder sonstwas) und wenn das erfolgreich abgeschlossen wurde, soll der Ordner auf A gelöscht werden. Wenn nicht, soll alles quasi wieder rückgängig gemacht werden. Wie krieg ich das hin? Wie frag ich einen Befehl ab, ob er korrekt ausgeführt wurde? Oder geht das mit mv?

Hat ein Befehl ein Rückgabewert? Und wie frag ich ihn ab.

Hoffe auf antwort.

rsyncnaggi

P.S.: Ich wusste nicht, wohin dieses Thema sonst hätte hin sollen, als in diesen Zweig.

Benutzeravatar
Deblix
Beiträge: 585
Registriert: 23.05.2003 17:33:48
Wohnort: Bremen

Beitrag von Deblix » 18.09.2006 09:35:33

Code: Alles auswählen

Befehl1 && Befehl2
Nur wenn Befehl1 erfolgreich beendet würde, wird Befehl2 ausgeführt.

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Re: Rückgabewert eines Befehls

Beitrag von mauser » 18.09.2006 09:42:16

rsyncnaggi hat geschrieben:Hallo,

ich habe schon ein wenig gegoogelt, fand aber nichts über mein Problem:
Also bei mir erklärt die erste Seite, die ich bei "bash rückgabewert" finde, genau dieses Verhalten...

Kurz: Du kannst den Rückgabewert des letzten Befehls mit der Variabelen "$?" herausfinden..
mfg
mauser

rsyncnaggi
Beiträge: 38
Registriert: 10.07.2006 15:44:22

Beitrag von rsyncnaggi » 18.09.2006 13:17:24

danke für die antworten.

aber irgendwie ist das komisch.

wenn ich das $? eingebe, dann krieg ich schon resultate. aber immer mit zusatz command not found. gehört das so? also wenn der befehl gut durchgelaufen ist bekomme ich:

-bash: 0: command not found

liegt ein fehler vor:

-bash: 1: command not found

ist das so richtig, oder dürfte command not found nicht da stehen?

rsyncnaggi

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 18.09.2006 13:24:35

Du solltest das schon so machen:

Code: Alles auswählen

echo $?
Oder halt im Skript in entsprechenden Konstrukten...

rsyncnaggi
Beiträge: 38
Registriert: 10.07.2006 15:44:22

Beitrag von rsyncnaggi » 18.09.2006 13:34:58

sorry, ich nehm mir jetzt mal das brett vor dem kopf weg.

danke ;-)

Antworten