3
以'批處理模式'運行R時,interactive
標誌設置爲false,這可以防止在嵌入/批處理設置的上下文中中斷進程的任何用戶提示。參見:R交互式和批處理模式以及heIp瀏覽器
R -e 'interactive()'
當使用Rscript
時,有一些成立。也可以使用interactivity軟件包手動設置該標誌。爲了測試,我們可以嘗試:
R -e 'install.packages("anything")
假設沒有CRAN鏡已被設置尚未,install.packages
不會表現出一定的互動鏡選擇器,而是拋出一個錯誤,然後退出。
但是,我注意到help
或?
命令仍然有效。例如,下面的命令將顯示幫助瀏覽器,並且在我按下q之前它不會繼續。
R -e 'help(lm); 1+2'
然而,將輸出發送一個文件時,它不顯示交互式提示,只是轉儲輸出完整的幫助文檔:
R -e 'help(lm); 1+2' > output.txt
我有點困惑,現在約當使用help
時會發生什麼。爲什麼即使R在批處理模式下運行時也能獲得交互式幫助瀏覽器?這是R
的特性,還是來自Debian/Ubuntu前端?由於R等待使用輸入而在內部調用help
函數(即Rserve,RInside,JRI等)時,是否有R
變得無響應的風險?