首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >run bash file in R: path in system()问题

run bash file in R: path in system()问题
EN

Stack Overflow用户
提问于 2013-10-04 22:39:51
回答 1查看 167关注 0票数 1

我正在尝试从R内部运行一个bash文件,所以我可以很好地运行以下内容:

代码语言:javascript
复制
setwd(path.expand("~/Documents/Rcode/"))

system("ls -F")
system('~/Documents/Rcode/GFR_test/run.sh')

因此,由于我为run.sh文件提供了完整的路径,所以这完全可以正常工作。但是,当处理很长的代码和许多要运行的bash文件时,这会变得单调乏味。所以我需要为每个sh文件创建一个变量:

代码语言:javascript
复制
myPATH <- "~/Documents/Rcode/GFR_test/"

然后调用run.sh

代码语言:javascript
复制
 system(paste(myPATH, 'run.sh'))

不幸的是,这不起作用,因为我得到了错误:

代码语言:javascript
复制
 sh: 1: ~/Documents/Rcode/GFR_test/ : Permission denied

权限问题很奇怪,因为我知道我做对了。你能帮帮我吗。谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-10-04 22:54:08

使用paste时,默认分隔符为空格。所以:

代码语言:javascript
复制
paste(myPATH, 'run.sh')

会给出:

代码语言:javascript
复制
~/Documents/Rcode/GFR_test/ run.sh

要抑制额外的空格,您必须在paste()中添加sep="",或者更好的做法是使用paste0,它有一个默认的空分隔符(而且速度更快):

代码语言:javascript
复制
paste0(myPATH, 'run.sh')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19184061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档