Verschiedene Shells beim Script im Script aufrufen?

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von art, 12.07.2007.

  1. art

    art Jungspund

    Dabei seit:
    22.06.2007
    Beiträge:
    14
    Zustimmungen:
    0
    s30a
    Code:
    #!/bin/sh
    X1=x1
    X2=x2
    X3=x3
    s30
    Code:
    #!/bin/sh
    ./s30a
    echo '$X1: ' $X1
    echo '$X2: ' $X2
    echo '$X3: ' $X3
    echo '( ./s30a ; )'
    ( ./s30a ; )
    echo '$X1: ' $X1
    echo '$X2: ' $X2
    echo '$X3: ' $X3
    echo '{ ./s30a ; }'
    { ./s30a ; }
    echo '$X1: ' $X1
    echo '$X2: ' $X2
    echo '$X3: ' $X3
    echo '. ./s30a'
    . ./s30a
    echo '$X1: ' $X1
    echo '$X2: ' $X2
    echo '$X3: ' $X3
    
    Ausgabe :

    $X1:
    $X2:
    $X3:
    ( ./s30a ; )
    $X1:
    $X2:
    $X3:
    { ./s30a ; }
    $X1:
    $X2:
    $X3:
    . ./s30a
    $X1: x1
    $X2: x2
    $X3: x3

    Meine Frage :
    Wir haben also 4 Aufrufmöglichkeiten :
    1) ./s30a
    2) ( ./s30a ; )
    3) { ./s30a ; }
    4) . ./s30a
    Laut der Ausgabe, heisst es, dass nur im letzten Fall also ". ./s30a" wird
    das s30a in der gleichen Shell abgearbeitet..Stimmt es?
    Sollte der Aufruf von ./s30a nicht auch in der gleichen Shell passieren?
    ( ./s30a ; ) sollte per Def. in der anderen Shell ausgeführt werden.
    Aber was ist mit 1) und 3) ???
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. StDoe

    StDoe Lebenskünstler

    Dabei seit:
    31.03.2006
    Beiträge:
    78
    Zustimmungen:
    0
    Hi, ich kenne noch 2 weitere:

    5) sh s30a # ist eigentlich das gleiche wie dein '2) ( ./s30a )'
    6) s30a # nur wenn 's30a' ausführbar ist (man chmod)

    dein '1) ./s30a' benutzt man nur, wenn 's30a' nicht ausführbar ist, ist sonst aber wie 6)

    ja.

    nein, die ABARBEITUNG erfolgt nicht in der gleichen shell.

    ja, semikolon ist nicht erforderlich.

    '3) { ./s30a ; }' weiß ich leider auch nicht. normalerweise benutzt man das, um befehle zu gruppieren, aber im zusammenhang mit variablen habe ich das auch noch nicht verwendet.
     
  4. #3 Wolfgang, 13.07.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    1) ./skript => Subshell
    2) ( ./skript ) => Subshell
    3) { ./skript; } => Subshell
    4) . ./skript => gleiche Shell

    ./skript ist nur erforderlich, wenn das aktuelle verzeichnis nicht im $PATH liegt. Sonst geht auch skript, wenn ausführbar.

    . <SKRIPT> führt SKRIPT in der gleichen Shell aus (Punkt SKRIPTNAME)
    Alternativ geht auch
    source skriptname

    Teste es selbst:
    Gruß Wolfgang
     
  5. #4 Schlaubi_fi.de, 13.07.2007
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    falsch, Wolfgangs Aussage ist hier richtig - Du kannst kein Skript so ./skript ausführen, wenn es kein Ausführbarkeitsrecht besitzt!
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Verschiedene Shells beim Script im Script aufrufen?

Die Seite wird geladen...

Verschiedene Shells beim Script im Script aufrufen? - Ähnliche Themen

  1. Vorteile/Nachteile der verschiedenen Shells

    Vorteile/Nachteile der verschiedenen Shells: Hey, ich wollte fragen was was die Vorteile/Nachteile der unterschiedlichen Shells sind. Also zwischen zsh, csh, bash usw usf. Was sind...
  2. die verschiedenen Shells- welche und warum ?

    die verschiedenen Shells- welche und warum ?: Hallo, ich bin Linux anfänger und frage mich welche Unterschiede es zwischen den einzelnen Shells gibt und wann man welche benutzen sollte?...
  3. Apache 2.2 Domain u. Sub-Domain auf verschiedenen Ports

    Apache 2.2 Domain u. Sub-Domain auf verschiedenen Ports: Hallo miteinander! Ich knabbere gerade an folgendem Problem: ich möchte, dass Apache auf example.com ausschließlich auf Port 80 antwortet und...
  4. SlickEdit: Verschiedene Varianten unter Linux

    SlickEdit: Verschiedene Varianten unter Linux: Slickedit, einer der ältesten, proprietären Texteditoren für Linux, wird ab sofort in zwei verschiedenen Varianten für Linux angeboten - einer...
  5. Qubes R2 unterstützt verschiedene Templates und Windows AppVMs

    Qubes R2 unterstützt verschiedene Templates und Windows AppVMs: Nach etwa zweijähriger Enwicklungszeit hat Joanna Rutkowska, die Gründerin der auf IT-Sicherheit spezialisierten Firma Invisible Things Lab, die...