我正在尝试从R内部运行一个bash文件,所以我可以很好地运行以下内容:
setwd(path.expand("~/Documents/Rcode/"))
system("ls -F")
system('~/Documents/Rcode/GFR_test/run.sh')因此,由于我为run.sh文件提供了完整的路径,所以这完全可以正常工作。但是,当处理很长的代码和许多要运行的bash文件时,这会变得单调乏味。所以我需要为每个sh文件创建一个变量:
myPATH <- "~/Documents/Rcode/GFR_test/"然后调用run.sh
system(paste(myPATH, 'run.sh'))不幸的是,这不起作用,因为我得到了错误:
sh: 1: ~/Documents/Rcode/GFR_test/ : Permission denied权限问题很奇怪,因为我知道我做对了。你能帮帮我吗。谢谢
发布于 2013-10-04 22:54:08
使用paste时,默认分隔符为空格。所以:
paste(myPATH, 'run.sh')会给出:
~/Documents/Rcode/GFR_test/ run.sh要抑制额外的空格,您必须在paste()中添加sep="",或者更好的做法是使用paste0,它有一个默认的空分隔符(而且速度更快):
paste0(myPATH, 'run.sh')https://stackoverflow.com/questions/19184061
复制相似问题