CGIの設定は,
http://d.hatena.ne.jp/arupaka-_-arupaka/20140820
- Rの実行コマンドは,Rscript コマンドを使う.
Rscript xxx.R コマンド引数 コマンド引数
コマンド引数は,
args=commandArgs(trailingOnly=T)
でargs配列に入る.
そのため,スクリプトの一行目に
#!/usr/local/bin/Rscript
を追加.
例えば,
test.R
#!/usr/local/bin/Rscript cat("test\n") args=commandArgs(trailingOnly=T) cat(args[1],"\n") quit()
として,実効権限をつける.
例えば,
chmod a+x test.R
実行は,
./test.R
とか
./test.R dogs
とか.
CGIだとデバックしにくいので,log.txtにlogを出力しとくと便利かも.
./test.R dogs 2> log.txt
- そのほかの注意事項
(1) 全角スペースなどに注意.WindowsのRだと全角スペースを無視して実行してくれる.
(2) 画面出力ファイルに注意.dev.copy2eps()から,png(file="xxx.png") plot(xx);dev.off();等に出力デバイス直す.
(3) 日本語文字列を扱うときはスクリプト内で環境変数LANGを日本語に.例えば,rubyだと ENV["LANG"]="ja_JP.UTF-8"
(4) R単独でCGIにするなら,一行目に cat("Content-type: text/html\n\n")が必要.CGIのルール.