2016-09-23 48 views
1

我試圖找出如何從system()R返回錯誤使用system()

EX捕獲錯誤消息:

> res <- system("ls home",intern=TRUE) 
ls: cannot access home: No such file or directory 
Warning message: 
running command 'ls home' had status 2 
> res 
character(0) 
attr(,"status") 
[1] 2 

有沒有一種方法來捕捉「LS:不能訪問家:沒有這樣的文件或目錄「在res

回答

2

試試這樣,即重定向標準錯誤數據

res <- system("ls home 2>&1",intern=TRUE) 

這將導致

[1] "ls: home: No such file or directory" 
attr(,"status") 
[1] 1 
+0

謝謝,沒有的伎倆! – user295944

+0

很高興聽到這個 – DAXaholic

+0

這適用於這個命令,但我真正想要的是使用res < - system(「impala-shell -i ....」,intern = TRUE),並且當有查詢錯誤時,捕獲錯誤。添加2>&1在這裏似乎沒有這樣做 – user295944