此命令在终端$java -jar $picard
每当我把它放在bash脚本中时,它会给出错误:line 2: -jar: command not found
#!/bin/sh
$java -jar $picard`
有没有修复,谢谢?
答案 0 :(得分:4)
行开头的$
不是命令的一部分;它是shell提示符的一部分。
将命令放在批处理文件中时,不应包含shell提示符。所以改成它:
#!/bin/sh
java -jar $picard
修改的
OP提到“$ java”指向实际的Java二进制文件。
如果您关注naming conventions for shell scripts,那么$java
和$picard
是shell中的局部变量,而不是环境变量,因此它们不会传递给您调用的任何命令。< / p>
要将它们转换为环境变量,您需要从shell中导出它们。无论你在其中设置值是最好的放置位置:
export java
export picard
但是,这会将它们变成环境变量,在这种情况下,您应该将名称设为“all capitals” - &gt; JAVA
,PICARD
。
答案 1 :(得分:0)
您必须导出用于指向java路径的java变量,如下所示
JAVA_CLASSPATH = / bin中/ jre1.8.0_101 / bin中/ JAVA
导出PICARD_CLASSPATH = / bin / picard-tools-2.5.0 / picard.jar
$ JAVA_CLASSPATH -classpath $ PICARD_CLASSPATH {执行开始的类的NMAe}
您可以使用大写字母代替小案例,以便更具可读性。