我有以下脚本
#!/usr/bin/Rscript
print ("shebang works")
在一个名为shebang.r的文件中。当我使用Rscript从命令行运行它时,它可以工作
$ Rscript shebang.r
但是当我单独从命令行运行它时
$ shebang.r
它不起作用。没找到shebang.r命令。
如果我输入(基于我见过的其他例子)
$ ./shebang.r
我被许可拒绝。
是的,Rscript位于/ usr / bin目录
答案 0 :(得分:13)
使文件可执行。
chmod 755 shebang.r
答案 1 :(得分:2)
除了Sjoerd的答案之外......只检查环境变量PATH
中列出的目录以查找要运行的命令。如果当前目录./shebang.r
不在您的shebang.r
中,则需要输入.
(而不只是PATH
)。
要检查PATH
,请键入
echo $PATH
要将.
添加到PATH
,请输入
export PATH="$PATH:."
您可以将此行添加到~/.bashrc
,以便在您打开新shell时自动执行此操作。