2016-06-14 5 views
1

現在のスクリプトRスクリプトを呼び出すバッシュとWindowsの互換性にマック

私はMac OSXに取り組んでいます。私は私のファイルを整理し、LaTexを経由して.pdfを生成するのに使いたいRスクリプトを持っています。 (1)LaTeXで.pdfを生成し、(2)いくつかのファイルとディレクトリを操作するために、RからBashスクリプトを使用して、system("")とします。

WindowsのへのMacから

私はプログラミングについて何も知らないし、Windowsを使用して誰かに(一度実行可能にするためにコンパイル)このRスクリプトを提供したいと思います。私は、どのようにWindowsがコマンドの動作を促し、どの言語を使用するのか分かりません。私は、(1)Windows上で関数system("")を使用することはできませんし、(2)system("rm dir/file.txt")などのbashを使用することはできません。

質問

あなたは(私は、Windowsについて何も知らないことを考えると)Windowsとの私のスクリプト互換性を持たせるために、私のための最も簡単だろうどう思いますか? Windows上でsystem("")とRのBashを使用できますか?

+0

何をしたいかによって、プラットフォームの違いが自動的に処理されるように、 'system'/bashコマンドの代わりにRコマンドを使用すれば十分でしょう。 toolsパッケージには、latexをpdfに変換する 'texi2pdf'があります。 '?files'で書かれたRコマンドも役に立ちます。 –

答えて

0

ベストソリューションは、両方のケースを別々に処理することです(WindowsパスもUNIXパスとは異なることに注意してください)。

if(.Platform$OS.type == "unix") { 
    system("rm dir/file.txt") 
    [...] 
} 
else { 
    system("DEL /Q dir\file.txt") 
    [...] 
} 

Windowsのcmdでは、UNIX対応のコマンドを検索する上で問題はありません。

LaTeXバイナリを実行するためにRスクリプトが必要な場合は、LaTeXが持つ巨大な依存関係のために、移植性がかなり低下することにも注意してください。

関連する問題