Shell-Scripte ausführen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Shell-Scripte ausführen?

    Halli hallo,
    ich habe mir grade eine schönes Shell-Script zusammengeschrieben. Nun stehe ich aber vor ne kleinen Hürde, *räusper* wie kann man die den starten? Hoffe einer von euch kann mir helfen, währe echt nett.

  • #2
    ./shell_script.sh
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      und vergiss auch nicht die rechte für execute zu aktivieren.

      und .... was steht in der ersten zeile deines sh-scriptes?
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Ehmm hier das ist das script

        Code:
        cd /usr/local/src/lamp &&
        tar -xzvf pakete/apache_1.3.34.tar.gz &&
        tar -xzvf pakete/freetype-doc-2.1.10.tar.gz &&
        tar -xzvf pakete/gd-2.0.33.tar.gz &&
        tar -xzvf pakete/mod_ssl-2.8.25-1.3.34.tar.gz &&
        tar -xzvf pakete/mysql-max-4.1.15.tar.gz &&
        tar -xzvf pakete/openssl-0.9.8a.tar.gz &&
        tar -xzvf pakete/php-5.0.5.tar.gz &&
        tar -xzvf pakete/zlib-1.2.3.tar.gz &&
        tar -xzvf pakete/jpegsrc.v6b.tar.gz.gz

        Kommentar


        • #5
          schreibe das hier noch in die erste zeile rein ....
          Code:
          #!/bin/sh
          ... und nimm die ganzen && raus.

          anschliessend der datei die ausführrechte geben ....
          Code:
          chmod 755 datei.sh
          .... und in der shell wie folgt starten ....
          Code:
          ./datei.sh
          ... und dann freuen. oder auch nicht. *g*
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Danke dir. Werde ich machen, ehmm nur zur aufklährung, warun wäre && falsch. Also der Duzent an unserer VHS hat gemeint, man solle es so machen. Naja ich mache es so wie du mir gesagt hast.

            Kommentar


            • #7
              was das && am ende genau macht, kann ich dir jetzt auch nciht sagen. das & am ende führt den teil nur im hintergrund aus.

              aber im endeffekt willst du das nacheinander abarbeiten. daher ohne & und &&
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Das && verknüpft mehrere Kommandos zu einer boole'schen Kette. Hat den Effekt, dass das Script abgebrochen wird, sobald ein Kommando fehlschlägt (returncode 0).

                Edit: Das Script läuft weiter, lediglich die restlichen Kommandos der &&-Kette werden nicht mehr ausgeführt (weil der Ausdruck nicht mehr erfüllbar ist).
                Ach und abbrechen heißt nicht rückgängig machen.
                Zuletzt geändert von onemorenerd; 23.10.2005, 17:49.

                Kommentar


                • #9
                  WAAAAAH

                  An der Console

                  Code:
                  cd /usr/local/src/lamp/pakete
                  und dann...

                  Code:
                   for i in $(ls *.tar.gz ) ; do tar xfz $i; done
                  Da brauchst du kein 10 zeiliges Script zu..
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Kommentar


                  • #10
                    Original geschrieben von hhcm
                    Code:
                     for i in $(ls *.tar.gz ) ; do tar xfz $i; done
                    Oh mein Gott was ist das den?

                    Kommentar


                    • #11
                      Jede Datei entpacken die auf *.tar.gz passt?
                      gruss Chris

                      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                      Kommentar


                      • #12
                        Woher weiß der hhcm denn bloß, dass nicht noch mehr Tarballs in dem Verzeichnis liegen?

                        Kommentar


                        • #13
                          Original geschrieben von onemorenerd
                          Woher weiß der hhcm denn bloß, dass nicht noch mehr Tarballs in dem Verzeichnis liegen?
                          OffTopic:
                          er hat nachgeschaut LOL
                          MfG
                          aim
                          Lies mich jetzt!
                          - OT-Tags-Liebhaber und BB-Code-Einrücker -

                          Kommentar


                          • #14
                            Hmm versteh ich jetz nicht

                            tar -xzvf pakete/apache_1.3.34.tar.gz &&
                            tar -xzvf pakete/freetype-doc-2.1.10.tar.gz &&
                            tar -xzvf pakete/gd-2.0.33.tar.gz &&
                            tar -xzvf pakete/mod_ssl-2.8.25-1.3.34.tar.gz &&
                            tar -xzvf pakete/mysql-max-4.1.15.tar.gz &&
                            tar -xzvf pakete/openssl-0.9.8a.tar.gz &&
                            tar -xzvf pakete/php-5.0.5.tar.gz &&
                            tar -xzvf pakete/zlib-1.2.3.tar.gz &&
                            tar -xzvf pakete/jpegsrc.v6b.tar.gz.gz
                            Die werden alle entpackt.. Auch wenn noch 60 mehr da drin stehen.
                            Mit ZIP oder bz2 etc. wirds etwas komplizierter...
                            gruss Chris

                            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                            Kommentar


                            • #15
                              Ja eben, alle *.tar.gz werden entpackt. Das sind u.U. aber mehr als die in dem ursprünglichen Script angegebenen, somit ist die Lösung mittels for-Schleife nicht äquivalent.

                              (Entpacken richtet natürlich keinen Schaden an, es wird lediglich etwas Speicherplatz belegt.)

                              Sollte eines der genannten Archive fehlen, würde das originale Script abbrechen, der User könnte am Exitcode erkennen, dass etwas nicht in Ordnung ist. Deine Schleife läuft immer glatt durch - sogar falls es kein einziges Archiv gibt.

                              Das wirkt wie Haarspalterei, der Threadstarter kennt sich mit Shellscripting aber offensichtlich nicht so gut aus und daher ist es wohl angemessen, ihn auf solche Unterschiede hinzuweisen.

                              Kommentar

                              Lädt...
                              X