在linux上从任何用户目录运行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中编写了一个实用程序脚本,并希望根据需要在任何目录中运行它,而不必指定它的完整路径。就像在
$>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是解决这一问题的方法。