次のシェルコマンドをC言語で使用したいと考えています。このシェルコマンドをC言語で使用できるように変換する
if uname -a | grep '10.0-RELEASE' || '10.3-RELEASE' >> /dev/null; then
私はfreebsdのプログラムに必要です。助けてください。
次のシェルコマンドをC言語で使用したいと考えています。このシェルコマンドをC言語で使用できるように変換する
if uname -a | grep '10.0-RELEASE' || '10.3-RELEASE' >> /dev/null; then
私はfreebsdのプログラムに必要です。助けてください。
次のようにsystem()を呼び出すことができます。しかし、あなたのコマンドが最初に機能することを確認してください(私にとっては正しくないようです)。
if(system("uname -a | grep '10.0-RELEASE' || '10.3-RELEASE' >> /dev/null"))
{
// no matches
}
else // matches
{
}
ありがとう –
libcにuname(3)関数があり、unameがC構造体(struct utsname)の形式でレポートする情報が返されます。あなたの||
構文がシェルで有効ではないことに注意してください。しかし、grepは通常のC文字列比較と置き換えることができます。私はあなたが2つの文字列の比較を行うことができます10.0または10.3に一致しようとしていると思います。
なぜですか?あなたは何を達成しようとしていますか? –
私のプログラムはfreebsd用のlibsをインストールしますが、10.xには他のlibsがあります –