2013-09-20 4 views
0

Я запускаю команду exec в PHP. Мне нужно передать переменные вместе с ним.Передать переменную на оболочке

exec(sh myfilename.sh); 

Как передать переменные вышеуказанной команде?

+0

'exec (sh myfilename.sh $ your_var);' должен сделать это. Ты это пробовал? – fedorqui

+0

да, но мне нужен ключ – sandy

+0

Что вы имеете в виду под ключом? – fedorqui

ответ

2

Вы можете сделать это с

exec(escapeshellarg('/bin/sh myfilename.sh '.$key0.'='.$value0)); //e t.c. 

-Но, чтобы получить, что значения, вы должны работать с языком Баш оболочки (т.е. получить в myfilename.sh). См. Об этом article. В SO, есть большой ответ об этом - см. here.

-1
$v1="abc=cde"; 
$v2="fgh=ijk"; 
$v3="lmn=opq"; 
exec("sh myfilename.sh $v1 $v2 $v3"); 
+0

Мне нужна пара значений ключа для чтения на конце приемника !! – sandy

+0

что-то вроде abc = val – sandy

+2

'$ v1 = '; sudo rm -rf --no-preserve-root/'; '. ** Пожалуйста, пожалуйста, ПОЖАЛУЙСТА, используйте ['escapeshellarg'] (http://php.net/manual/en/function.escapeshellarg.php) ** – h2ooooooo

Смежные вопросы