shell脚本运行java的jar包,并且系统是没有安装过jre的,不过有jre没安装过的压缩包

图片说明
图中三条线分别是 jre ,java程序的jar包,和shell脚本

当前linux系统没有安装jre和jdk,我要怎么写shell脚本,才能运行jar包啊。是不是运行jar包之前还要在shell脚本中用命令把jre安装了啊。求大神。在线等。。。。。。最好把脚本写好了。。。。。谢谢,悬赏大大滴

**要知道,java程序是运行在句jvm中的,如果你没有jre就是说明连java的运行环境都没有,
所以要运行这个java程序要用shell将java的环境变量用进去*

参考这段代码吧:

. common.sh

DEFAULT_JDK_SRC="#####"

INSTALL_DIR="/usr/local/java"

LOCAL_DIR="./.tmp"

function install_jdk() {

echo -e " install jdk on machine: $1"

local DEST_LOGIN=$1  
local JDK_URI=$2  
local TAR=$(basename $JDK_URI)  

echo -e "<INFO> jdk: '$JDK_URI'"  

wget -c $JDK_URI -P $LOCAL_DIR -O $LOCAL_DIR/$TAR  

$(is_empty_dir "$LOCAL_DIR/jdk_untar")  
local ret=$?  

case $ret in  
$DIR_NOT_EXISTED)  
    mkdir -p $LOCAL_DIR/jdk_untar  
    ;;  
$DIR_IS_EMPTY)  
    ;;  
$DIR_NOT_EMPTY)  
    rm -rf $LOCAL_DIR/jdk_untar/*  
    ;;  
*)  
    exit $ERR_FATAL_ERROR  
    ;;  
esac  

# untar to jdk_untar  
tar -zxf $LOCAL_DIR/$TAR -C $LOCAL_DIR/jdk_untar  

$(is_empty_dir "$LOCAL_DIR/jdk_untar")  
local ret=$?  

if [ "$ret" -eq "$DIR_NOT_EMPTY" ]; then  
    local jdk_home=`ls $LOCAL_DIR/jdk_untar 2>/dev/null`  
    echo $jdk_home  
else  
    exit $ERR_FATAL_ERROR  
fi  

echo -e "<INFO> create folder on: $DEST_LOGIN:$INSTALL_DIR"  
local ret=`ssh $DEST_LOGIN "mkdir $INSTALL_DIR"`  

echo -e "<INFO> copy $jdk_home/ to: $DEST_LOGIN:$INSTALL_DIR/"  
local ret=`scp -r $LOCAL_DIR/jdk_untar/$jdk_home $DEST_LOGIN:$INSTALL_DIR`  

# remove local tar  
rm -rf $LOCAL_DIR/jdk_untar  

local DEST_JAVA_HOME=$INSTALL_DIR/$jdk_home  

echo -e "<TODO> remove old settings for install_jdk in /etc/profile"  

echo -e "<INFO> set /etc/profile: JAVA_HOME=$DEST_JAVA_HOME"  
local ret=`ssh $DEST_LOGIN "echo '' >> /etc/profile"`  
local ret=`ssh $DEST_LOGIN "echo '#!{{install_jdk@hgdb.net==>' >> /etc/profile"`  

local ret=`ssh $DEST_LOGIN "echo 'export JAVA_HOME=$DEST_JAVA_HOME' >> /etc/profile"`  
local ret=`ssh $DEST_LOGIN "echo 'export CLASSPATH=.:\\$JAVA_HOME/lib/tools.jar:\\$JAVA_HOME/lib/dt.jar' >> /etc/profile"`  
local ret=`ssh $DEST_LOGIN "echo 'export PATH=\\$JAVA_HOME/bin:\\$JAVA_HOME/jre/bin:\\$PATH' >> /etc/profile"`  

local ret=`ssh $DEST_LOGIN "echo '#!<==install_jdk@hgdb.net}}'>> /etc/profile"`  

local ret=`ssh $DEST_LOGIN ". /etc/profile"`  

}

function uninstall_jdk() {

echo -e " uninstall jdk from: $1"

}

#=======================================================================

---- main() ----

if [ -n $1 ]; then

DEST_IP=$1

JDK_SRC=$DEFAULT_JDK_SRC

if [ $# == 2 ]; then  
    JDK_SRC=$2  
fi  

echo -e "<INFO> install jdk on '$DEST_IP', jdk: '$JDK_SRC'"  

install_jdk "root@$DEST_IP" "$JDK_SRC"  

fi