Эта команда вернет скорость загрузки сервера в МБ / с:
awk '{if (l1){print ($10-l2)/1024/1024} else{l1=$2; l2=$10;}}' <(grep eth0 /proc/net/dev) <(sleep 1; grep eth0 /proc/net/dev)
Он очень хорошо работает через терминал Linux / SSH, но когда я использую system(), exec() или shell_exec(), он просто показывает мне:
# php -q geturate.php
sh: 1: Syntax error: "(" unexpected
Мой исходный код php:
<?php
$command = 'awk \'{if (l1){print ($10-l2)/1024/1024} else{l1=$2; l2=$10;}}\' <(grep eth0 /proc/net/dev) <(sleep 1; grep eth0 /proc/net/dev)';
$result = system($command);
echo $result;
?>
Как мне запустить эту команду через php?
версия php на сервере: 5.6
просто получаю эту ошибку: PHP Parse error: syntax error, unexpected '{' in geturate.php on line 2






Система небольшого изменения бит вместо использования exec в php
<?php
$command = 'awk \'{if (l1){print ($10-l2)/1024/1024} else{l1=$2; l2=$10;}}\'
<(grep eth0 /proc/net/dev) <(sleep 1; grep eth0 /proc/net/dev)';
$result = exec($command);
echo $result;
?>
просто попробуйте запустить это: exec ('awk -v OFS =, \' / hello / i {$ 1 = $ 1; print} \ 'test.txt> newtest.txt');
Вы пробовали
$result = system(escapeshellcmd($command));(php.net/manual/en/function.escapeshellcmd.php), который должен гарантировать, что команда не будет неправильно интерпретирована.