Я вызываю test.sh из PHP с использованием метода shell_exec.
$my_url="http://www.somesite.com/";
$my_refer="http://www.somesite.com/";
$page = shell_exec('/tmp/my_script.php $my_url $my_refer');
Однако в командной строке script говорится, что он получил только один аргумент:/tmp/my_script.php
Когда я меняю вызов на:
код:
$page = shell_exec('/tmp/my_script.php {$my_url} {$my_refer}');
В нем говорится, что он получил 3 аргумента, но argv [1] и argv [2] пусты.
Когда я меняю вызов на:
код:
$page = shell_exec('/tmp/my_script.php "http://www.somesite.com/" "http://www.somesite.com/"');
script, наконец, получает все 3 аргумента, как предполагалось.
Вам всегда нужно отправлять только цитированный текст с помощью script и не разрешено отправлять переменную типа $var? Или есть какой-то особый способ отправить $var?