【发布时间】:2017-09-21 10:34:55
【问题描述】:
我知道这很有可能被重复,但在此处的其他问题中,我都没有找到我的问题的答案。以下是我已经尝试过的总结。
我有一个 R 脚本文件file.r:
#!/usr/bin/env Rscript
print("Hello World!")
这是可执行的 (chmod +x file.r),并且过去运行良好(我上次使用它是大约一个月前),通过发出:
$ ./file.r
然而,今天:
$ ./file.r
/usr/bin/env: 'Rscript\r': No such file or directory
事实上:
$ which Rscript
/usr/bin/Rscript
因此我将 shebang 更改为:#!/usr/bin Rscript,但是:
$ ./file.r
/usr/bin: bad interpreter: Permission denied
然后我以为我会以超级用户身份运行它,但是:
$ sudo ./file.r
sudo: unable to execute ./file.r: Permission denied
阅读后我发现全新安装 R 可以解决我的问题,所以我卸载并安装了 R。不幸的是,我之前写的内容仍然适用。但是请注意,以下内容适用于两个 shebang 版本:
$ Rscript file.r
[1] "Hello World!"
我做错了什么?
【问题讨论】:
-
#!/usr/bin Rscript绝对没有意义。我认为您正在尝试执行类似#!/usr/bin/Rscript的操作来创建指向可执行文件的直接路径。如果那是为您存储 Rscript 的地方,那将起作用。在我看来,原始错误的“\r”部分是导致问题的原因。您是否尝试过删除整个 shebang 行并重新输入?