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