2017-12-03 267 views
1

爲什麼RScript在RStudio上正常工作,但在終端上運行crontab作業時會導致錯誤?setwd()導致終端中出現語法錯誤

我試圖在RScript上運行crontab作業來每分鐘收集數據(* * * * *)。然而,當上RStudio運行RSCRIPT工作正常運行的crontab的時候,我得到以下錯誤:

/Users/xx/Capstone_2/Get_Data.R: line 3: syntax error near unexpected token `'/Users/xx/Capstone_2/Data'' 
/Users/xx/Capstone_2/Get_Data.R: line 3: `setwd('/Users/xx/Capstone_2/Data')' 

以下是我對crontab -e運行:

* * * * * /Users/xx/Capstone_2/Get_Data.R

這裏是RSCRIPT:

setwd('/Users/xx/Capstone_2/Data') 
library(twitteR) 

setup_twitter_oauth('consumer-key', 'consumer-secret', 
'access-token','access-secret') 

iphonex <- searchTwitter("iphonex", n=1000) 
iphonex <- twListToDF(iphonex) 

write.csv(iphonex, '/Users/xx/Capstone_2/Data/iphonex.csv') 
+0

當通過crontab執行此代碼時會發生什麼錯誤消息?是否可能執行cron作業的用戶名不具有對'write.csv()'中列出的子目錄的寫入權限? –

+0

瘋狂猜測:嘗試在腳本中使用雙引號而不是單引號。 – Roland

回答

0

如果你已經給我們展示了所有的/Users/xx/Capstone_2/Get_Data_Test.R文件,那麼問題在於shell不知道你想運行它通過R.您需要添加

#!/usr/bin/Rscript 

作爲第一行。

+0

我添加了這一行,但是我得到了一個不同的錯誤:'/ bin/sh:/Users/xx/Capstone_2/Get_Data_Test.R:/ usr/bin/Rscript:錯誤的解釋器:沒有這樣的文件或目錄' – mch103

+0

R安裝在哪裏?你可以使用console命令'which Rscript'來找到它。在第一行中使用Rscript的路徑。 – user2554330