在R中调用system获取远程服务器$HOME路径,如何保存到local_dir变量?
解决R中获取远程服务器HOME目录并保存到变量的问题
这问题我之前也碰到过!你用system('echo $HOME')时,函数默认返回的是命令的退出状态码(0就代表执行成功),而不是echo $HOME输出的路径内容,所以local_dir才会存成0。
要把命令的输出抓下来存到变量里,给system()加个intern = TRUE参数就行,它会让函数捕获命令的输出而不是状态码:
local_dir <- system('echo $HOME', intern = TRUE)
另外,其实R本身就有内置函数可以直接获取HOME目录,完全不用调用系统命令,更简洁还跨平台:
local_dir <- Sys.getenv("HOME")
不管是远程服务器还是本地环境,这个方法都能稳稳返回当前用户的主目录,推荐优先用这个~
内容的提问来源于stack exchange,提问作者Plinth
相关产品推荐
相关产品推荐

