shell_exec

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

  • shell_exec

    Habe probleme mit shell_exec.

    folgende Zeile hab ich in meinem PHP-Script:

    $uptime = shell_exec("snmpget - public -v 1 localhost .1.3.6.1.2.1.1.3.0 |cut -d ":" -f 4 |sed 's/(//' |sed 's/)//' |cut -d " " -f 2")

    Es bringt mir den Fehler:

    Parse error:syntax error, unexpectet ':' in ........ on line 134

    In der Kommandozeile führt er den Befehl einwandfrei aus!

    In welche Hochkommas oder wie muss ich den Befehl in shell_exec einsetzen?

    Danke mal!

  • #2
    die Hochkomma Escapen!
    PHP-Code:
    shell_exec("snmpget - public -v 1 localhost .1.3.6.1.2.1.1.3.0 |cut -d ":" -f 4 |sed 's/(//' |sed 's/)//' |cut -d " " -f 2"
    Bitte Beachten.
    Foren-Regeln
    Danke

    Kommentar


    • #3
      Escapen heißt mit Backslash \?

      Kommentar


      • #4
        Original geschrieben von split
        Escapen heißt mit Backslash \?
        zeichenketten in PHP und ja genau das heist es ^^

        PHP-Code:
        shell_exec("snmpget - public -v 1 localhost .1.3.6.1.2.1.1.3.0 |cut -d 
        "
        :" #<-- PHP denkt an dieser stelle hört die zeichenkette auf.
         -f 4 |sed 's/(//' |sed 's/)//' |cut -d 
        " " #<-- genau das selbe gild auch hier
         -f 2"

        korrekt müsste es so aussehen

        PHP-Code:
        shell_exec("snmpget - public -v 1 localhost .1.3.6.1.2.1.1.3.0 |cut -d \":\" -f 4 |sed 's/(//' |sed 's/)//' |cut -d \" \" -f 2"
        Bitte Beachten.
        Foren-Regeln
        Danke

        Kommentar


        • #5
          Hat geklappt!
          Danke für deine Hilfe!

          Kommentar


          • #6
            Jetzt bekomme ich zwar keinen Fehler mehr, aber meine Ausgabe Ausgabe erfolgt nicht.

            $uptime = shell_exec("snmpget - public -v 1 localhost .1.3.6.1.2.1.1.3.0 |cut -d \":\" -f 4 |sed 's/(//' |sed 's/)//' |cut -d \" \" -f 2");

            echo $uptime;

            Kann mir jemand helfen!

            Kommentar


            • #7
              lass dir den zusammengesetzten string ausgeben (und zeig ihn hier).

              Kommentar


              • #8
                meinst du über die Kommandozeile?

                Sorry, bin arbeite ziemlich frisch mit Linux und php.

                Kommentar


                • #9
                  PHP-Code:
                  $str 'hello world';
                  fkt($str);

                  # kontrollausgabe:
                  var_dump($str); 

                  Kommentar


                  • #10
                    wie ist das mit den einfachen und doppelten Hochkommas? Muss ich die entwerten?

                    Kommentar


                    • #11

                      Kommentar


                      • #12
                        Hab mein Fehler gefunden.
                        Danke für deine Hilfe!

                        Kommentar


                        • #13
                          dann sag mal.

                          Kommentar


                          • #14
                            ich hatte in meinen String die falsche Community eingetragen.

                            Aber jetzt kommt schon ein neues Problem mit

                            shell_exec("cp /home/TAR/new /home/TAR/new_backup")

                            wird nicht kopiert!

                            Kommentar


                            • #15
                              "-r" angegeben?
                              1. fehlermeldung? (die kann auch in den logs stehen)
                              2. pfade?
                              3. rechte?

                              Kommentar

                              Lädt...
                              X