shell_exec

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #3
      Escapen heißt mit Backslash \?

      Comment


      • #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

        Comment


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

          Comment


          • #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!

            Comment


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

              Comment


              • #8
                meinst du über die Kommandozeile?

                Sorry, bin arbeite ziemlich frisch mit Linux und php.

                Comment


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

                  # kontrollausgabe:
                  var_dump($str); 

                  Comment


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

                    Comment


                    • #11

                      Comment


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

                        Comment


                        • #13
                          dann sag mal.

                          Comment


                          • #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!

                            Comment


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

                              Comment

                              Working...
                              X