Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Bashskript starten

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Software
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
martini
Gast





BeitragVerfasst am: 13. Mai 2014 10:09   Titel: Bashskript starten

Hallo,

was genau ist der Unterschied beim Start eines Scripts durch

./baschskript
bash bashskript
exec bashskript

Vielen Dank im Voraus
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 13. Mai 2014 11:05   Titel: Re: Bashskript starten

martini hat folgendes geschrieben::

./baschskript

Dadurch startet man einen neuen Prozess mit der angegebenen ausführbaren Datei im aktuellen Verzeichnis ("./"). Das bedeutet, dass das Skript mit #!/Pfad/zum/Interpreter beginnen muss und Ausführrechte für den Benutzer vorliegen müssen.

Zitat:

bash bashskript

Dadurch startet man einen neuen Bash-Prozess und übergibt dem den Namen "bashskript" als ersten Parameter. Bash deutet das so, dass es ein Skript mit diesem Namen im aktuellen Verzeichnis suchen und dann im soeben gestarteten Bash-Interpreter ablaufen lassen soll.

Zitat:

exec bashskript

Das ist analog zum Fall 1, allerdings mit zwei Unterschieden: Zum einen fehlt der absolute Pfad, so dass das Verzeichnis, in dem sich bashskript befindet, in PATH erwähnt sein muss. Zum anderen wird kein neuer Prozess gestartet, sondern stattdessen der aktuelle Bash-Prozess in den Prozess, der hinter "bashskript" steckt (in dem Fall also vermutlich eine neue Bash) umgewandelt. Das heißt: Die Prozessnummer bleibt gleich, aber das Image der ausführbaren Datei ändert sich. Einige Prozessvariablen wie das Environment werden allerdings übergeben. Siehe execve(2).
Diese Konstruktion wird oft benutzt, um keine Reste eines Initskripts rumliegen zu haben.


Außerdem gibt es noch den Fall
Code:

. bashskript

In diesem Fall führt die aktuelle Shell das angegebene Skript aus, als wäre es getippt worden. Das Skript kann dadurch z.B. Ergebnisse als geänderte Variableninhalte zurückgeben.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

martini
Gast





BeitragVerfasst am: 13. Mai 2014 12:44   Titel: super

Danke Janka,

auf Dich ist verlaß Wink

VG martini
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Software Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy