4

いくつかのことを行ってから Rscript を呼び出す bash スクリプトがあります。簡単な例を次に示します。

test.sh:

Rscript test.r

test.r:

args <- commandArgs()
print(args)

./test.sh helloコマンドラインで使用すると、Rがhelloを印刷するようにするにはどうすればよいですか?

4

3 に答える 3

4

次のような bash スクリプトを使用して、bash にすべての引数を R スクリプトに渡すことができます。

#!/bin/bash

Rscript /path/to/R/script --args "$*"

exit 0

次に、R 内で破棄する必要がある $* からの引数の数を選択できます。

于 2013-07-13T19:59:20.663 に答える
2

これに対処する方法は次のとおりです。

test.sh:

Rscript test.r $1

test.r:

args <- commandArgs(TRUE)
print(args)

$1、bash スクリプトに渡される最初の引数を表します。

commandArgs()の代わりに呼び出すとcommandArgs(TRUE)、bash からは渡されませんが、代わりに内部で呼び出された他の引数が出力されます。

于 2013-07-13T19:59:39.987 に答える
0

asbの答えについて:

bash スクリプトの行に「--args」を使用しても機能しません。「--args」は、R スクリプトに渡したい実際の引数のリテラルとして使用されました。それを取り出すと、つまり「Rscript /path/to/my/rfile.R arg1 arg2」となります。

bash バージョン: GNU bash、バージョン 3.2.25(1)-release (x86_64-redhat-linux-gnu) Rscript バージョン: R スクリプト フロントエンド バージョン 3.0.1 (2013-05-16)

于 2015-07-08T17:44:01.810 に答える