Page 1 of 1

Shell script Aufruf

Posted: 10. Jan 2014 12:12
by Klaus2014
Hallo.
Mag vielleicht eine dumme Frage sein, nur kann ich sonst nirgends gezielte Infos finden:
Was ist der Unterschied ob ich ein Shell Script entweder mittels
./meinscript
oder mittels
sh meinscript.sh
aufrufe?

Ich vermute, dass im 2. Fall ein neuer Prozess generiert wird und im ersten Fall der aktuelle Prozess zur Ausführung verwendet wird. Ist das richtig oder ist das gehupft wie gesprungen?

Posted: 10. Jan 2014 15:34
by Janka
Es wird in beiden Fällen ein neuer Prozess erzeugt. Der Unterschied ist, dass mit "./meinscript" die Shell verwendet wird, die in der ersten Zeile #! von meinscript festgelegt ist und bei "sh meinscript.sh" die Shell, die durch die Pfad-Suche nach "sh" gefunden wird. Will man ein Skript in der aktuellen Shell ausführen, muss man den Punkt-Befehl der Shell verwenden.

Janka

Re: Shell script Aufruf

Posted: 10. Jan 2014 17:50
by Phoenix
Klaus2014 wrote:Hallo.
Mag vielleicht eine dumme Frage sein, nur kann ich sonst nirgends gezielte Infos finden:
Hallo Klaus,

"eigentlich" gibt es keine dumme Fragen, nur dumme Antworten... :P
Ich brauche die Info im Moment nicht, speichere die aber, weil mir das garantiert irgendwann in die Quere kommt. Wenn ich das dann brauche, weiß ich sicher nicht mehr, wo ich das her hatte. Und mit welchem Suchbegriff finden, erst recht nicht.:lol:

@ Janka: danke.

Schönes Wochenende

Phoenix

Posted: 11. Jan 2014 11:10
by hjb
Hi!

Außerdem muss im ersten Fall die Datei Ausführungsrechte besitzen, im zweiten nicht.

Grüße,
hjb

Genau darum ging es

Posted: 11. Jan 2014 12:40
by Klaus2014
Hallo.
Der für mich entscheidende Tipp war der Punkt-Befehl.
Wenn ich mehrere verschachtelte Scripte jeweils über

Code: Select all

 sh meinscript01.sh (ruft dann wiederum "sh meinscript02.sh" auf)
 ...
 sh meinscript05.sh (wird aus meinscript04.sh aufgerufen)
starte, werden tatsächlich 6 Prozesse erzeugt.
Beim Punktbefehl dann nur noch insgesamt 2.
Ebenso war mir die Tatsache mit den unterschiedlichen Anforderungen an die Ausführungsrechte nicht bewusst. Auch das ist ein für mich wichtiger Hinweis.
Das hilft mir jetzt alles mal WIRKLICH weiter.

Vielen lieben Dank.

Posted: 05. Dec 2014 9:07
by alieen
Ich vermute, dass im 2. Fall ein neuer Prozess generiert wird und im ersten Fall der aktuelle Prozess zur Ausführung verwendet wird. Ist das richtig oder ist das gehupft wie gesprungen?