在linux上从任何用户目录运行groovy脚本
我在groovy中编写了一个实用程序脚本,并希望根据需要在任何目录中运行它,而不必指定它的完整路径。就像在在linux上从任何用户目录运行groovy脚本,linux,groovy,Linux,Groovy,我在groovy中编写了一个实用程序脚本,并希望根据需要在任何目录中运行它,而不必指定它的完整路径。就像在$>groovy myScript.groovy中一样 我已将其父目录的路径添加到.profile中的路径,并将其来源化,但保留gettig“command not found”错误。从概念上讲,你知道该在哪里寻找问题吗 东西在哪里: 我的PostBuilder.groovy脚本的第一行:#/usr/bin/env groovy` .profile中的路径:export PATH=$PATH
$>groovy myScript.groovy中一样
我已将其父目录的路径添加到.profile中的路径,并将其来源化,但保留gettig“command not found”错误。从概念上讲,你知道该在哪里寻找问题吗
东西在哪里:
我的PostBuilder.groovy脚本的第一行:#/usr/bin/env groovy`
.profile中的路径:export PATH=$PATH:/home/me/work/web/MyProject/public\u html
我现在尝试在我的主目录中执行脚本时遇到的错误:
Caught: java.io.FileNotFoundException: /home/me/PostBuilder.groovy (/home/me/PostBuilder.groovy)
仅供参考,我的Groovy/Grails设置工作正常,因此我认为Groovy本身的安装是可以的。您真正想要的可能是:
将脚本所在的路径添加到path环境变量中,然后
通过chmod u+x
使其可执行,以及
她用#打开它/usr/bin/env groovy
(或您的等效文件)
更可能的是,你真正想要的是:
将脚本所在的路径添加到path环境变量中,然后
通过chmod u+x
使其可执行,以及
她用#打开它/usr/bin/env groovy
(或您的等效文件)
将groovy/bin的路径添加到路径中。然后,您可以运行groovy,但仍然需要位于.groovy脚本的目录中,或者提供完整路径才能执行。将路径添加到groovy/bin
到路径中。然后,您可以运行groovy,但仍然需要在.groovy脚本的目录中,或者提供完整的路径才能执行。。。。只是试着玩这个,仍然没有乐趣,为问题添加了更多细节。@vector我不理解您的shebang。我的groovy安装在/home/me/groovy中,而不是/usr/bin中/env@vector那它还是错的,依我看。搜索“unix shebang”要了解它的实际功能。@vector您不能直接提供groovy
作为shebang的目标,事实证明。必须是二进制的,groovy
是一个shell脚本(请参见中的注释)。因此,让env
执行groovy是解决这一问题的一种方法。。。。只是试着玩这个,仍然没有乐趣,为问题添加了更多细节。@vector我不理解您的shebang。我的groovy安装在/home/me/groovy中,而不是/usr/bin中/env@vector那它还是错的,依我看。搜索“unix shebang”要了解它的实际功能。@vector您不能直接提供groovy
作为shebang的目标,事实证明。必须是二进制的,groovy
是一个shell脚本(请参见中的注释)。因此,让env
执行groovy是解决这一问题的方法。