通过bash脚本在Ubuntu 16.04上安装Java7

时间:2017-04-19 04:50:05

标签: java linux bash java-7 ubuntu-16.04

我在bash脚本中编写了以下函数java_install,以便在Linux框中安装java,我将jdk-1.7.0_80-linux-x64.tgz作为JAVA_PACKAGE传递给我。 现在发生的事情是java安装并且只在脚本中正常工作。一旦我退出这个脚本,没有任何java功能可以工作,甚至不是java -version。有人可以帮我解决一下我在这里可能缺少的东西吗?基本上,我只想在执行此脚本后将java永久安装在此框中。

java_install() {
local JAVA_PACKAGE=$1
local TMPDIR=/tmp/quickstart
local TARGET=/usr/share
    if [ -n "$JAVA_PACKAGE" ] && [ -f "$JAVA_PACKAGE" ]; then
  rm -rf $TMPDIR
  mkdir -p $TMPDIR
  cp $JAVA_PACKAGE $TMPDIR
  ( cd $TMPDIR && tar fxz $JAVA_PACKAGE && rm $JAVA_PACKAGE )
  local JAVA_BASENAME=$(ls -1 $TMPDIR)
  mkdir -p $TARGET
  if [ -d "$TARGET/$JAVA_BASENAME" ]; then
    echo "# Java already installed at $TARGET/$JAVA_BASENAME"
    log_info "Java already installed at $TARGET/$JAVA_BASENAME"
  else
    echo "# Java now installed at $TARGET/$JAVA_BASENAME"
    log_info "Java now installed at $TARGET/$JAVA_BASENAME"
    mv $TMPDIR/$JAVA_BASENAME $TARGET
  fi
  rm -rf $TMPDIR

  # now create a script to export these settings
  export JAVA_HOME=$TARGET/$JAVA_BASENAME
  export PATH=$JAVA_HOME/bin:$PATH
else
  echo "# cannot find java package to install"
  log_error "cannot find java package to install"
fi
} 

1 个答案:

答案 0 :(得分:0)

在脚本中使用update alternatives使Java安装可用:

sudo update-alternatives --install "/usr/bin/java" "java" "path to you java executable" 1

有关此主题的更多信息,请参见How to use the command update-alternatives --config java。 或者,您可以从脚本内将JAVA HOMEPATH的导出命令写入.bashrc(如果使用bash)。这样,修改后的变量就可以在bash shell中使用。