【问题标题】:Java Jar file SoftLink in LinuxLinux 中的 Java Jar 文件 SoftLink
【发布时间】:2013-08-16 16:23:41
【问题描述】:

我创建了一个 jar 文件,它从标准输入读取并将它们打印到标准输出。

以下是您如何使用该应用程序:

cat /ephemeral/test/input | java -jar /ephemeral/test/Hello.jar >> /ephemeral/test/output

我想知道是否可以将我的 Hello.jar 添加为 Linux 命令,比如说 -hello-:

所以下次我可以这样做:

hello /ephemeral/test/input /ephemeral/test/output

我对 Linux Soft Link 和 Java 不是很熟悉,所以任何帮助或信息都会被应用!

更新: 感谢reno鼓舞人心的回答,我把猫... | .. >> .. 进入一个shell脚本hello.sh。 现在我可以这样做:

./hello.sh /inputpath/input outputpath/output

(注意:你不应该使用$0,$0实际上是文件本身的名称而不是输入参数)

现在,最后一个问题是如何在任何地方访问 shell 脚本,就像调用基本 shell cmds 一样:ls..cat..echo..

我已经阅读了tutorial 描述的正是我想要的(直接到达教程的末尾):

  1. 我确实将 hello.sh 所在目录的路径添加到了路径变量中。
  2. 我创建了一个类似于 mkdir /home/ubuntu/bin 的 bin 文件夹,并将我的 shell 脚本放在那里。 但是,按照作者的描述,我仍然有问题:

    你好输入输出(在我的例子中)

有人知道这里出了什么问题吗?

【问题讨论】:

    标签: java linux bash command symlink


    【解决方案1】:

    你可以编写一个 shell 脚本,比如 test.sh 并将你的代码复制到 test.sh

    !/bin/bash

    猫 $0 | java -jar /ephemeral/test/Hello.jar >> $1

    并通过传递您的输入和输出文件名来执行脚本,如下所示:

    test.sh /ephemeral/test/input /ephemeral/test/output

    【讨论】:

    • $0 $1 正是我所需要的,但 LINUX COMMAND 问题尚未解决。 test.sh 仅适用于脚本所在的文件夹,对吗?无论你是哪个文件夹,如何访问 test.sh。
    • 你是对的,test.sh 只在它所在的目录中执行。如果你想普遍执行它,你可以使用绝对路径 ex: /ephemeral/myfolder/test.sh :)或将 add test.sh 添加到 bin 文件夹。有关如何使您的脚本通用的更多信息可以在下面的链接中找到,unix.com/shell-programming-scripting/…
    【解决方案2】:

    这样做的方法是编写一个包含必要的java -jar 命令的shell 脚本(通常是hello.sh)。

    【讨论】:

    • 嗨 chrylis,你知道我应该将我的 shell 脚本 (hello.sh) 放在哪个文件夹,这样我就可以像其他 shell 命令一样调用它:ls、cat、echo.... /usr /斌? /home/ubuntu/bin? ...谢谢!
    • 这是一个只适合您的命令,还是您让系统上的每个人都可以使用它?如果是您的,请创建一个 $HOME/bin 目录并将其添加到路径中。如果适合所有人,请将其放入/usr/local/bin
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2015-11-09
    • 2015-12-15
    • 2021-11-26
    • 1970-01-01
    • 2010-12-14
    相关资源
    最近更新 更多