2017-01-29 25 views
-5

Я хотел бы использовать следующую команду Shell на языке C.Преобразование этой команды оболочки для использования на языке C

if uname -a | grep '10.0-RELEASE' || '10.3-RELEASE' >> /dev/null; then 

Мне это нужно для моей Программы на freebsd. Пожалуйста помоги.

+0

Почему? Чего вы пытаетесь достичь? –

+0

Моя программа установки libs для freebsd, но 10.x имеет другие библиотеки –

ответ

0

Вы можете назвать систему() следующим образом. Но сначала убедитесь, что ваша команда работает (мне кажется, что это неправильно).

if(system("uname -a | grep '10.0-RELEASE' || '10.3-RELEASE' >> /dev/null")) 
{ 
    // no matches 
} 
else // matches 
{ 
} 
+0

Спасибо, я попробовал –

1

Существует uname (3) функция в LIBC, что будет возвращать информацию, которая uname отчеты в виде C структуры (структура utsname). grep можно заменить обычным сравнением строки C, хотя обратите внимание, что ваш синтаксис || недействителен в оболочке. Я бы предположил, что вы пытаетесь сопоставить 10.0 или 10.3, и в этом случае вы можете выполнить два сравнения строк.

 Смежные вопросы

  • Нет связанных вопросов^_^