将此Shell命令转换为能够在C语言上使用

将此Shell命令转换为能够在C语言上使用,c,shell,unix,clang,freebsd,C,Shell,Unix,Clang,Freebsd,我想在C语言中使用下面的Shell命令 if uname -a | grep '10.0-RELEASE' || '10.3-RELEASE' >> /dev/null; then 我在freebsd上的程序需要这个。请帮助。您可以按如下方式调用system()。但首先要确保你的命令有效(在我看来这是不正确的) libc中有一个uname(3)函数,它将以C结构(struct utsname)的形式返回uname报告的信息。grep可以替换为普通的C字符串比较,不过请注意,您的|语

我想在C语言中使用下面的Shell命令

if uname -a | grep '10.0-RELEASE' || '10.3-RELEASE' >> /dev/null; then
我在freebsd上的程序需要这个。请帮助。

您可以按如下方式调用system()。但首先要确保你的命令有效(在我看来这是不正确的)


libc中有一个uname(3)函数,它将以C结构(struct utsname)的形式返回uname报告的信息。grep可以替换为普通的C字符串比较,不过请注意,您的
|
语法在shell中无效。我猜您正在尝试匹配10.0或10.3,在这种情况下,您可以进行两个字符串比较。

为什么?你想实现什么?我的程序为freebsd安装libs,但10.x有其他libs
if(system("uname -a | grep '10.0-RELEASE' || '10.3-RELEASE' >> /dev/null"))
{
    // no matches
}
else // matches
{
}