Variable als String

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von returnNULL, 28.09.2012.

  1. #1 returnNULL, 28.09.2012
    returnNULL

    returnNULL Mitglied

    Dabei seit:
    28.09.2012
    Beiträge:
    32
    Zustimmungen:
    0
    Guten Tag,

    ich habe ein Problem an dem ich schon seit Stunden sitze. Zum generellen Problem im Moment:

    Ich würde gerne mit einem Bash Script ein PHP-Skript erweitern.
    Dafür benutze ich:
    Code:
     ssh -t 192.168.0.1"cp /etc/apache2/scripts/log.php /etc/apache2/scripts/log.php.bak"
     ssh -t 192.168.0.1 "sed -e \"/einfuegen/ a shell_exec('scp root@$1.domain.de:/var/log/apache2/*access_log*.gz '.$dest_path.' ');\" /etc/apache2/scripts/log.php.bak > /etc/apache2/scripts/log.php"
     ssh -t 192.168.0.1 "rm /etc/apache2/scripts/log.php.bak"
    Der ganze Spaß soll
    shell_exec\('scp root@$1.domain.de:/var/log/apache2/*access_log*.gz '.$dest_path.' ');

    unter die Zeile einfügen wo "#einfuegen" steht. (im PHP Script)
    Leider schaffe ich es nicht den $dest_path als normalen String auszugeben.
    Die Ausgabe war jedes mal:
    shell_exec('scp root@bla.domain.de:/var/log/apache2/*access_log*.gz '..' ');

    Ich denke ich habe mich ein wenig verrannt in der Sache.

    Desweiteren hätte ich noch eine Frage ob es noch eine elegantere Lösung gibt config Dateien zu manipulieren als (Orgianal-> Orginal.backup -> Orginal.backup beschreiben -> Orginal.backup -> Kopie)


    Vielen Dank

    returnNULL
     
  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. #2 Aqualung, 28.09.2012
    Aqualung

    Aqualung Routinier

    Dabei seit:
    12.02.2008
    Beiträge:
    404
    Zustimmungen:
    0
    Code:
    'scp root@$1.domain.de:/var/log/apache2/*access_log*.gz '
    Du solltest zunächst berücksichtigen, dass "single quotes", d.h.

    Code:
    '
    die Sonderbedeutung von

    Code:
    $
    aufhebt.
    Helfen sollte in diesen Zusammenhang

    Code:
    'scp root@'"$1"'.domain.de:/var/log/apache2/*access_log*.gz '
     
  4. #3 returnNULL, 01.10.2012
    returnNULL

    returnNULL Mitglied

    Dabei seit:
    28.09.2012
    Beiträge:
    32
    Zustimmungen:
    0
    Vielen Dank für den Hinweis.

    Code:
    shell_exec('"scp root@$1.domain.de:/var/log/apache2/*access_log*.gz "'".'$dest_path'."'"  "');
    mit diesem Befehl und und der Ausgabe mit Echo wird alles richtig ausgegeben.

    Ausgabe: shell_exec('scp root@test.domain.de:/var/log/apache2/*access_log*.gz '.$dest_path.' ');


    Code:
    ssh -t 192.168.0.1 "sed -e \"/einfuegen/ a shell_exec('"scp root@$1.domain.de:/var/log/apache2/*access_log*.gz "'".'$dest_path'."'"  "');\" /etc/apache2/scripts/log.php.bak > /etc/apache2/scripts/log.php"
    Bei dem kompletten Befehl kommt leider immer noch folgende Ausgabe:

    shell_exec('scp root@px3.pixolith.de:/var/log/apache2/*access_log*.gz '..' ');


    Gruß

    NULL
     
  5. #4 Spröde, 01.10.2012
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    Falsch:
    Code:
    ... $dest_path ...
    Richtig:
    Code:
    ... \$dest_path ...
     
  6. #5 returnNULL, 04.10.2012
    returnNULL

    returnNULL Mitglied

    Dabei seit:
    28.09.2012
    Beiträge:
    32
    Zustimmungen:
    0
    Perfekt läuft :-*

    Vielen Dank
     
  7. #6 Spröde, 04.10.2012
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    Die von Aqualung beschriebene Methode hätte hier auch funktioniert, aber das richtige ein- und ausquoten von Single- und Doublequotes ist extrem unübersichtlich. Deshalb halte ich das Escapen für besser.
     
  8. Anzeige

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

Variable als String

Die Seite wird geladen...

Variable als String - Ähnliche Themen

  1. Textstring nach muster durchsuchen und in Variable speichern

    Textstring nach muster durchsuchen und in Variable speichern: Hallo, habe ein "kleines" Problem! ps -ef | grep mysql | grep GroupLabel | grep -v grep liefert: root 4298 1 0 Nov13 ? 00:00:00...
  2. sed - Teilstring durch Variable ersetzen

    sed - Teilstring durch Variable ersetzen: Hallo, ich schreibe gerade an einem Shell-Skript das mir eine Datei ausliest und dort einen Platzhalter durch das aktuelle Datum ersetzt....
  3. String zu Variable

    String zu Variable: Hi, ich hab folgendes Problem, ich möchte mit c++ eine klasse schreiben, welsche eine config-Datei mit folgendem Syntax einliest. # Zeilen die...
  4. string.split() nach variabler anzahl an leerzeichen

    string.split() nach variabler anzahl an leerzeichen: hallo leute.. ja dumme frau sucht schnelle antwort. ich hab ein kleines problem mit der funktion string.split(). und zwar möchte ich die...
  5. Variablen bzw. Strings aus Logfiles lesen

    Variablen bzw. Strings aus Logfiles lesen: Hallo zusammen ich brauche wieder eure :help: Aaalso, mein Skript liest momentan bestimmte Variablen aus und schreibt sie in eine Datei;...