Java Arduino脚本:$1仅在pwd=`~`时有效,但在其他任何地方无效

Java Arduino脚本:$1仅在pwd=`~`时有效,但在其他任何地方无效,java,bash,shell,Java,Bash,Shell,我有以下脚本,arduino #!/bin/sh APPDIR="$(dirname -- "$(readlink -f -- "${0}")" )" cd "$APPDIR" for LIB in \ java/lib/rt.jar \ java/lib/tools.jar \ lib/*.jar \ ; do CLASSPATH="${CLASSPATH}:${LIB}" done export CLASSPATH LD_LIBRARY_PAT

我有以下脚本,
arduino

#!/bin/sh

APPDIR="$(dirname -- "$(readlink -f -- "${0}")" )"

cd "$APPDIR"

for LIB in \
    java/lib/rt.jar \
    java/lib/tools.jar \
    lib/*.jar \
    ;
do
    CLASSPATH="${CLASSPATH}:${LIB}"
done
export CLASSPATH

LD_LIBRARY_PATH=`pwd`/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

export PATH="${APPDIR}/java/bin:${PATH}"

java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel processing.app.Base $1
如果pwd为
~

vng:/home/vng () $ arduino ~/Desktop/EZ_com/EZ_com.ino 
这很有效

但是,如果我将目录更改为其他任何位置:

vng:/home/vng () $ cd ~/Desktop/EZ_com/
vng:/home/vng/Desktop/EZ_com () $ ls
EZ_com.ino
vng:/home/vng/Desktop/EZ_com () $ arduino EZ_com.ino 
这将导致arduino IDE打开一个空文件


有什么好处

在类路径中附加的jar库路径似乎与home dir相对。试着让它绝对化

我试着在$1前面加上``pwd
/
,但这并没有使它成为绝对值。有什么想法吗?我说的是for循环中列出的罐子。e、 g.java/lib/rt.jar。您应该尝试使用绝对路径eg/home/vng/java/lib/rt.jar