php - Невозможно выполнить эту команду

1

Эта команда вернет скорость загрузки сервера в MB/s:

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

  • 0
    Вы пробовали $result = system(escapeshellcmd($command)); ( php.net/manual/en/function.escapeshellcmd.php ), которая должна гарантировать, что команда не будет неправильно интерпретирована.
  • 0
    просто получаю эту ошибку: PHP Parse error: syntax error, unexpected '{' in geturate.php on line 2
Теги:
awk

1 ответ

0

Небольшая система смены бит вместо использования 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;
?>
  • 0
    нет, это не работает, нет ошибки, но нет результата!
  • 0
    просто попробуйте запустить это: exec ('awk -v OFS =, \' / hello / i {$ 1 = $ 1; print} \ 'test.txt> newtest.txt');
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню