Я пытаюсь захватить некоторые данные из ifconfig, но я получаю только строку frist, хранящуюся в моей переменной.
я бегу
//First off, find out whether we're using eth or wlan
$wlanTest = shell_exec('/sbin/ifconfig wlan|egrep -o "wlan|inet addr:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|RUNNING"');
$log = "| contents of wlan test: " . $wlanTest;
echo $log;
myLog($log);
Я получаю только первую строку ответа. Полный ответ:
eth
inet addr:192.168.99.193
RUNNING
Но все, что я получаю в своей переменной, - это
eth
Я попытался с помощью php implode() и str_replace() удалить \n символов из $ wlanTest, но не повезло.
Прежде всего убедитесь, что shell_exec() возвращает вам все данные, которые вам нужны с var_dump
потому что я вижу, что вы командуете
egrep -o "wlan|inet addr:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|RUNNING"
выберите строки с помощью wlan not eth, а затем попытайтесь использовать это для замены разрывов строк $ethTest = preg_replace("/\r\n|\r|\n/",'',$ethTest)