我在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