Передача параметров URL из php-скрипта в bash - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь передать параметры из URL ( PHP script) в Bash , используя оператор управления регистром.Сам скрипт Bash работает правильно, если он запускается с компьютера Linux , но при возврате через URL возвращается пустая белая страница.

Скрипт bash

case $1 in
allBG)
    echo "Prilagane na status 1 - All BG";
    cp /root/copyjob/status/xml/status1_allBG/tvip_provision.xml >/var/www/html/prov.mac/$2/tvip_provision.xml;
;;
allEU)
    echo "Prilagane na status 2 - All EU za"
    cp /root/copyjob/status/xml/status2_allEU/tvip_provision.xml >/var/www/html/prov.mac/$2/tvip_provision.xml
;;
eurotv)
    echo "Prilagane na status 3 - eurotv";
    cp /root/copyjob/status/xml/status3_eurotv/tvip_provison.xml >/var/www/html/prov.mac/$2/tvip_provision.xml;
;;
gotv)
    echo "Prilagane na status 4 - gotv";
    cp /root/copyjob/status/xml/status4_gotv/tvip_provision.xml >/var/www/html/prov.mac/$2/tvip_provision.xml;
;;
bixi)
    echo "Prilagane na status 5 - bixi";
    cp /root/copyjob/status/xml/status5_allbg/tvip_provision.xml >/var/www/html/prov.mac/$2/tvip_provision.xml;
esac

PHP-скрипт

$status = $_GET['status'];
$mac = $_GET['mac']; 

echo exec('/root/copyjob/status/status.sh $status $mac');

1 Ответ

0 голосов
/ 10 июля 2019

Вам нужно использовать двойные кавычки, если вы хотите, чтобы PHP интерпретировался или заканчивали вашу строку и объединяли переменные в вашу строку.

Так что либо:

echo exec("/root/copyjob/status/status.sh $status $mac");

или

echo exec('/root/copyjob/status/status.sh ' . $status . ' ' . $mac);

Редактировать: Извините, пропустил эхо. Если вы хотите вывести что-то из него, вы должны использовать 2-й и 3-й параметр exec:

<?php
$status = $_GET['status'];
$mac = $_GET['mac']; 
$output = array();
$return_var = null;
exec("/root/copyjob/status/status.sh $status $mac", $output, $return_var);

var_dump($output);
var_dump($return_var);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...