我在Debian Stable Linux中工作。我正在尝试使用脚本,因此每次使用保存在单独文件夹中的类文件时,都不必输入-cp /home/auser/bin/
。使用java classpath运行脚本
我创建了一个脚本文件,并保持它的路径:
$ which japp.sh
/home/auser/bin/japp.sh
此脚本包含:
#! /bin/bash
# -cp for classpath:
java -cp /home/auser/bin/ Jmyclass $1 $2 $3
Jmyclass.class
也有在/home/auser/bin/
目录。
然而,当我命令:
$ japp.sh first second third_arg
我得到一个错误(从Jmyclass
)表示参数不被Jmyclass
收到的。
USAGE: java Jmyclass <d1name> <d2name> <mode>
问题在哪里,我该如何纠正它?谢谢你的帮助。
编辑:我刚刚意识到脚本不工作,如果参数1和/或2有空格的,即使我将它们用双引号:
japp.sh "first arg" "second arg" third_arg
这怎么可能纠正?
如果你用'echo“替换第三行java -cp/home/auser/bin/Jmyclass $ 1 $ 2 $ 3”',你会得到什么? – Guest
它显示适当的命令,所有3个参数就位。我刚刚意识到,如果参数中有空格,脚本不起作用,即使我将它们用双引号(“first arg”)括起来。 – rnso