Linux下执行jar包的便捷方法

我使用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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值