передача переменной из php в bash

Кажется, я не могу получить переменную, переданную моему скрипту bash из php. $ uaddress и $ upassword приходят пустым, независимо от того, что я пытаюсь.

** * ** * ** * ** * ** * ** * ** * bash * ** * ** * ** * ** * ***

#!/bin/bash -x useraddress=$uaddress upassword=$upassword ssh -p 222 -6 2400:8900::f03c:91f:fe69:8af "/var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add" $useraddress --password $upassword --password2 $upassword .ssh 

** * ** * ** * * php * ** * ** * ** * ** * ***

 <?php $upassword = 'test1234'; $uaddress = 'mytestuser@tpccmedia.com'; $addr = shell_exec('sudo /home/tpccmedia/cgi-bin/member_add_postfixadmin 2>&1'); echo $uaddress; echo $upassword; //$addr = shell_exec('ssh -p 222 -6 2400:8900::f03c:91f:fe69:8af /var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add; echo $useraddress; --password; echo $upassword; --password2; echo $upassword; .ssh'); echo "<pre>$addr</pre>"; var_dump($addr); ?> 

** * ** * ** * ** выход и debug ** * ** * ** * ** *

 mytestuser@tpccmedia.comtest1234 + useraddress= + upassword= + ssh -p 2222 -6 2400:8900::f03c:91ff:fe69:8aaf '/var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add' --password --password2 .ssh Welcome to Postfixadmin-CLI v0.2 --------------------------------------------------------------- Path: /var/www/localhost/htdocs/postfixadmin --------------------------------------------------------------- Username: > string(404) "+ useraddress= + upassword= + ssh -p 2222 -6 2400:8900::f03c:91ff:fe69:8aaf '/var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add' --password --password2 .ssh Welcome to Postfixadmin-CLI v0.2 --------------------------------------------------------------- Path: /var/www/localhost/htdocs/postfixadmin --------------------------------------------------------------- Username: > " 

Вам нужно передать переменные в качестве аргументов в сценарий оболочки, а скрипт оболочки должен прочитать его аргументы.

Итак, в PHP:

 $useraddress = escapeshellarg('mytestuser@tpccmedia.com'); $upassword = escapeshellarg('test1234'); $addr = shell_exec("sudo /home/tpccmedia/cgi-bin/member_add_postfixadmin $useraddress $upassword 2>&1"); 

и в сценарии оболочки:

 useraddress=$1 upassword=$2 

Понял.

 <?php $upassword = 'test1234'; $uaddress = 'mytestuser@tpcmedia.com'; $uaddress = escapeshellarg($uaddress); $upassword = escapeshellarg($upassword); $addr = shell_exec("sudo /home/tpcmedia/cgi-bin/member_add_postfixadmin $uaddress $upassword 2>&1"); ?> #!/bin/bash -x uaddress=$1 upassword=$2 ssh -p 2222 -6 2400:8900::f03c:91ff:fe69:8aaf "/var/www/localhost/htdocs/postfixadmin/scripts/postfixadmin-cli mailbox add" $uaddress --password $upassword --password2 $upassword