[linux-l] Shell-Terminierung

Dr. Bernd Freistedt bernd at bfrei.net
So Sep 8 11:47:25 CEST 2002


---Lutz Meinert (linux-l at mlists.in-berlin.de) wrote on Sun, 8 Sep 2002 11:49:06 +0200
> Hallo Liste,
> 
> Wenn man in einem Shell-Script nicht am Schluss sondern irgendwo in der Mitte 
> ein weiteres Shell-Script aufruft, wird dieses zwar geladen und ausgeführt, 
> anschließend wird jedoch das erste noch bis zum Schluß abgearbeitet. 

Ja klar, das ist doch der Sinn der Sache.

> Da ich das in bestimmten Fällen nicht möchte, habe ich im primären Script nach 
> dem Aufruf  von Script2 noch ein exec-Kommando für ein Fantasie-Kommando 
> angehangen und die Fehlerausgabe 
>     nextScript
>     exec TerminateShell >& /dev/null

Setze doch nach dem Aufruf von Script 2:
    if [ in bestimmten Faellen ] # Deine Bedingung
    then
      exit 2
    fi

und schon beendet sich an dieser Stelle Script 1. Wenn die
Bedingung nicht erfuellt wird, geht's halt weiter.

Wenn Du in Script 1
    . script2
mit dem dot davor aufrufst, wird script2 in der gleichen Shell
abgearbeitet.

> So gibt es beispielsweise bei Bash-Funktionen die Möglichkeit, in einem 
> solchen Fall ein "return" anzufügen. Ist jemandem vielleicht ein 
> vergleichbares Kommado für Bash-Scripte bekannt?

Das verstehe ich nicht. Wenn das Script 2 beendet wird, geht
Script 1 weiter.

Gruessli
Bernd




Mehr Informationen über die Mailingliste linux-l