我使用Linux的时候有很多命令是使用的jar包
如果每次都用java -jar path_of_jar 的方式很不方便
下面介绍一下我使用的便捷的方法:
你们也可以想一想有没有更好的方法,我使用的方法的好处是之后只建立链接,不生成文件
但对jar包的存放路径有一定的要求
把使用的jar包工具都放到一个文件夹里 dir_of_jar,
然后在这个文件夹下建一个 runjar.sh 文件源码如下:
#!/bin/bash
get_current_dir()
{
SOURCE="$0"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
echo $DIR
}
CDIR=$(get_current_dir $0)
CALLNAME=`basename $0`
HASLINK=`ls -n $0 | awk '{print $11}'`
if [ -z $HASLINK ] || [[ `basename $HASLINK` == $CALLNAME ]]
then
#create a link for jar file
PARAM1=$1
SUFFIX=${PARAM1##*.}
JARNAME=`basename -s .jar $PARAM1`
WJARPATH=$CDIR"/"$JARNAME".jar"
if [ $# -lt 1 ] || [[ $SUFFIX != "jar" ]] || [ ! -f "$WJARPATH" ]
then
echo "usage: $CALLNAME _path_of_jar_"
else
echo $CDIR"/"$CALLNAME link to /usr/bin/$JARNAME
sudo ln -s $CDIR"/"$CALLNAME /usr/bin/$JARNAME
fi
else
#call the jar file
java -jar $CDIR/$CALLNAME".jar" $@
fi
然后建一个链接
sudo ln -s dir_of_jar/runjar.sh /usr/bin/runjar.sh
想使用哪一个文件直接 runjar.sh path_of_jar 就可以了
举个例子:
runjar.sh dir_of_jar/apktool_2.3.0.jar
然后系统下面就可以直接使用apktool命令了
apktool_2.3.0