2017-01-23 8 views
6

RのWindowsでは、システムコマンドを呼び出す関数が2つあります。一方では、システムコマンドを実行するためにsystem()(またはより新しいsystem2()関数)を使用することが可能です。一方、shell()を使用することは可能です。私の意見では、両者は同じことをするべきです。それらの違いは何ですか?system()とshell()の相違点

マニュアルを読むことから、シェルは、システムにもっと使いやすいラッパーとして説明されています。私はどちらも少し異なる引数を持っていることがわかりますが、シェルをより使いやすくするという点は実際には分かりません。これを除いて、私は他の相違を見ることができず、いくつかの基本的なコードを実行しても同じ結果が得られます(引用符を除く)。

> system('ECHO "test"') 
test 
> shell('ECHO "test"') 
"test" 

もう一方ではなく、どちらを使用するのですか?

+0

@ChirayuChamoli他にもPHPに関する大きな違いがあります。 RはPHPではありません。 –

答えて

0

システムコマンドがCMD.EXE(Windowsではデフォルト)で受け付けられても、それほど大きな違いはありません。しかし、shのような別のシェルを使用して非CMD.exeスクリプトを実行する場合は、すべてのシステムコマンドの接頭辞を省略できます。それは\のために/をすべて切替えなければならないなど、関連する問題にも役立ちます。

関連する問題