Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Frage zu php und shell-script Variablen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
Martini
Tux's lil' helper
Tux's lil' helper


Joined: 30 Sep 2002
Posts: 141

PostPosted: Wed Mar 01, 2006 9:24 pm    Post subject: Frage zu php und shell-script Variablen Reply with quote

Hallo

Ich habe mal eine Frage bezüglich Varibalenübergabe von einem php-script an ein shell-script. Vielleicht kann mir da jemand weiterhelfen.
Folgende Situation:
Ich habe ein php-script auf Rechner-A laufen welches auf Rechner-B ein shell-script via ssh (mit pubkey) ausführen soll. Das klappt auch ganz gut. Allerdings übergebe ich im php-script eine Variable, die Leerzeichen oder auch Sonderzeichen erhalten kann.
Nun möchten ich diese Variable gerne im shell-script auf dem Rechner-B als kompletten string erhalten und zwar mittels

Code:

var=$2


und auch gerne weiterverarbeiten.
Es werden insgesamt 6 Variablen übergeben.
Wenn jetzt jetzt der zweite Parameter (des php-scripts) bei der Übergabe mehrere einzelne Wörter enthält, wird logischerweise das shell-script als 3ten Paramter Teile des 2ten enthalten. :wink:

Klingt logisch, aber irgendwie ... komm gerade nicht weiter. :oops:
Kann mir mal jemand die Tomaten von den Augen wischen?

Beispiel:

php-script
Code:

exec ("su - user -c \"ssh user@user-rechner -C /usr/local/bin/program $var1 $var2 ....  &\" ");


shell-script
Code:

var1=$1
var2=$2
var3=$3
.
.





Danke schonmal
Martin
Back to top
View user's profile Send private message
misterjack
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1657

PostPosted: Wed Mar 01, 2006 9:33 pm    Post subject: Re: Frage zu php und shell-script Variablen Reply with quote

Code:
ssh user@user-rechner -C /usr/local/bin/program \"$var1\" \"$var2\"

sowas in der richtung würde ich mir vorstellen :)
_________________
„Meine Meinung steht fest! Bitte verwirren Sie mich nicht mit Tatsachen.“
Back to top
View user's profile Send private message
Martini
Tux's lil' helper
Tux's lil' helper


Joined: 30 Sep 2002
Posts: 141

PostPosted: Wed Mar 01, 2006 10:03 pm    Post subject: Reply with quote

Hi, danke

Habe ich gerade mal probiert. Leider ist das Problem das gleiche.
Der Befehl im php-script sieht im Prinzip jetzt so aus:
Code:

exec ("su - user -c \"ssh user@user-rechner -C /usr/local/bin/program \"$var1\" \"$var2\" \"$var3\" \"$var4\" \"$var5\" \"$var6\" &\" ");


Martini
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Thu Mar 02, 2006 5:00 am    Post subject: Reply with quote

Martini wrote:
Code:

exec ("su - user -c \"ssh user@user-rechner -C /usr/local/bin/program \"$var1\" \"$var2\" \"$var3\" \"$var4\" \"$var5\" \"$var6\" &\" ");

Kann auch nicht gehen, ist ja auch einmal maskieren vergessen.

Also um mal bissl Ordnung reinzubekommen, einigen wir uns erstmal auf saubere Notation: $foo='a'.$b.'c'; statt $foo="a$bc";

Damit sollte das Script so ausssehen:
Code:
exec ('su - user -c "ssh user@user-rechner -C /usr/local/bin/program \"'.$var1.'\" \"'.$var2.'\" \"'.$var3.'\" \"'.$var4.'\" \"'.$var5.'\" \"'.$var6.'\" & " ');


Wo gehört das & mit hin? zu su oder ssh? In dem Beispiel zu ssh.

Damit sollten in $var auch mit Leerzeichen möglich sein, allerdings nicht doppelte Anführungszeichen ", die müssten dann "doppelt" maskiert werden, also besser vermeiden.
Back to top
View user's profile Send private message
Martini
Tux's lil' helper
Tux's lil' helper


Joined: 30 Sep 2002
Posts: 141

PostPosted: Thu Mar 02, 2006 3:09 pm    Post subject: Frage zu php und shell-script Variablen [solved] Reply with quote

Hallo

Ahh, danke slick.
Ich werde das heute abend ausprobieren und berichten.
Danke für die Erläuterung.

Das & gehört zum ssh.

Danke
Martini


edit:
sorry, bin eben erst dazu gekommen...
funktioniert leider so auch nicht, Problem ist client-seitig. Ich teste weiter, sobald ich ich wieder Zeit habe...
Danke
/edit

edit2:
Hi, ich nochmal...
Habe jetzt noch mal weiter probieren können.
Mit
Code:

\"'.escapeshellarg ($var1).'\"

funktioniert das jetzt wunderbar. Danke nochmal für die Hilfe.
Martini
/edit[topic=][/topic]
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum