PHP cli, skicka argument via cli script linux

PHPportalen Forum Index » Webbservrar och operativsystem
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
toffie



Medlem i: 4222 dagar
Från: Stockholm
Status: Offline



#741529
Inlägg Skrivet: 2017-03-06 16:02      Ämne: PHP cli, skicka argument via cli script linux Citera

Hej på er,

Länge sen man var här, men sidan finns kvar!! :D Skoj!

Tänkte kolla med er, håller på med ett speciellt projekt där jag behöver trigga en PHP fil via kommando, liknande följande;

KOD:
1:
php /var/www/script/snmp.php $host $ip $vars


Men eftersom tecknen $ används i PHP så förmodar jag att när jag slänger in ovanstående sträng mot PHP så tror den att det är vanliga PHP variabler som den ska försöka använda sig av. Det är det ju förstås inte utan linux variabler, som ses nedan.

Kör jag följande;
KOD:
1:
php /var/www/script/snmp.php

Så fungerar det utan några problem, men jag får ju förstås inte med de variabler som jag vill ha med från linux scriptet.

Givetvis behöver jag $host $ip och $vars från linux scriptet in i PHP filen.

Har ni några tips/idéer på hur jag kan lösa detta?

Många tack på förhand! Smile



Hela scriptet här;
KOD:
1:
#!/bin/sh
2:
                                                                                 
3:
read host
4:
read ip
5:
vars=
6:
                                                                                 
7:
while read oid val
8:
do
9:
  if [ "$vars" = "" ]
10:
  then
11:
    vars="$oid = $val"
12:
  else
13:
    vars="$vars, $oid = $val"
14:
  fi
15:
done
16:
                                                                               
17:
echo trap: $1 $host $ip $vars > /snmp/go.out
18:
 
19:
php /var/www/script/snmp.php $host $ip $vars
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
simius



Medlem i: 4146 dagar
Från: Skåne
Status: Offline



#741530
Inlägg Skrivet: 2017-03-06 19:07      Ämne: Citera

Inte helt säker på vad du menar...
Men ska försöka hjälpa endå!

Argumenten du skickar in från shell-skriptet kommer finnas i $argv globalen i php-scriptet. Att dom har ett $-tecken bör inte göra någon skillnad, då det kommer att parsas som en sträng, inte evalueras i php (vilket hade varit en oerhörd säkerhetsrisk!), dock kommer de ju såklart evalueras i shell-scriptet i fråga.

Kan du kanske visa ett exempel på hur du kallar på shell-scriptet och hur argumenten hämtas i php?
 

_________________
Lägger jag en bild här igen blir jag avstängd.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
LimpanDSS



Medlem i: 1938 dagar
Från: Stockholm
Status: Offline



#741533
Inlägg Skrivet: 2017-03-07 02:44      Ämne: Re: PHP cli, skicka argument via cli script linux Citera

Testa att skriva variablerna så här istället:

KOD:
1:
${var}


d.v.s inom { } tecken.
 

_________________
Github
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Webbservrar och operativsystem
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic