2013-02-11 84 views
1

我會盡力將[R腳本在bash腳本像Rscript不支持換行符?

#!/bin/bash 
    ...some bash command 
    Rscript -e 'a=1; 
    print(a)'; 

但抱怨

ARGUMENT 'print(a)' __ignored__ 

如何包括RSCRIPT換行符?

+0

我會寫我的腳本文件,並把它稱爲'RSCRIPT myScript.R'。 – agstudy 2013-02-11 17:02:10

+0

我知道,但我想把它放在bash中 – user1143669 2013-02-11 17:14:03

+0

是否嘗試在每行的末尾使用延續字符,即'-e a = 1; \ print(a)';'?祝你好運。 – shellter 2013-02-11 18:42:29

回答

1

我也認爲最好的方法是寫一個R腳本。考慮到這一點,你可以創建一個緩存:只是<(echo 'code')替換-e 'code'

Rscript <(echo 'a=1; 
    print(a);') 
+0

這也工作!感謝你們! – user1143669 2013-02-12 03:14:29

1

我能得到什麼,我認爲是有希望的行爲:

Rscript -e 'print(123)' -e ' 
     print(234)' 

因此,使用-e標誌反覆,第二個參數是憑藉領先的單引號不完整。重複行是可能的:

Rscript -e 'print(123)' -e ' 
print(234)' -e ' 
a=2222222' -e ' 
print(a)' 
##------ 2013-02-11 ------## 
[1] 123 
[1] 234 
[1] 2222222 
+0

我的上帝,很難想象你如何拿出這個神像解決方案。有用!但現在我寧願寫一行。 – user1143669 2013-02-11 19:58:35

+0

您可能會對所有失敗的嘗試的整個記錄​​感到好笑,因爲在這之前我曾犯過這些失敗的嘗試。這並不能反映出對GMane的搜索。 – 2013-02-11 20:01:06

+0

flodel的答案看起來更體面,也有效。但是,謝謝你 – user1143669 2013-02-12 03:15:27