Shell script Aufruf

Antworten
Nachricht
Autor
Klaus2014

Shell script Aufruf

#1 Beitrag von Klaus2014 » 10. Jan 2014 12:12

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?

Benutzeravatar
Janka
Beiträge: 3573
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 10. Jan 2014 15:34

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
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Benutzeravatar
Phoenix
Beiträge: 582
Registriert: 12. Okt 2008 17:02
Wohnort: HSK

Re: Shell script Aufruf

#3 Beitrag von Phoenix » 10. Jan 2014 17:50

Klaus2014 hat geschrieben: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
Für kein Tier tut man so viel wie für die Katz!

3 BS aktuell
openSUSE 13.1-64 KDE auf Hauptplatte
Mageia 4-64 KDE auf USB- Platte
openSUSE 13.1-64 KDE auf USB- Platte mit Starter BodhiLinux 1.4.0

Benutzeravatar
hjb
Pro-Linux
Beiträge: 3244
Registriert: 15. Aug 1999 16:59
Wohnort: Bruchsal
Kontaktdaten:

#4 Beitrag von hjb » 11. Jan 2014 11:10

Hi!

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

Grüße,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Klaus2014

Genau darum ging es

#5 Beitrag von Klaus2014 » 11. Jan 2014 12:40

Hallo.
Der für mich entscheidende Tipp war der Punkt-Befehl.
Wenn ich mehrere verschachtelte Scripte jeweils über

Code: Alles auswählen

 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.

alieen

#6 Beitrag von alieen » 05. Dez 2014 9:07

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?

Antworten