概述
虽然配环境变量很简单,没有必要写脚本,但是可以通过编写一些简单的小脚本来熟悉shell的语法。
功能描述
写一个脚本,指定解压后的jdk路径(需要做简单的输入判断),可以自动配置环境变量。
代码
#! /bin/bash #功能: 配置Java环境变量 #用法: sh 文件名 jdk文件路径 filename=$1 if [ -z "$filename" ]; then echo '尚未指定jdk路径!' exit elif (test ! -e ${filename}) then echo '指定文件不存在,请检查后再试!' exit elif [ ${filename:0-6} == 'tar.gz' ]; then echo '文件未解压,请先解压......' exit elif [ ${filename:0:1} != '/' ]; then echo '请输入绝对路径' exit else echo "export JAVA_HOME=${filename}" >> /etc/profile echo "export PATH=${JAVA_HOME}/bin:$PATH">> /etc/profile echo "export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar">> /etc/profile source /etc/profile java -version echo '环境变量配置成功......' fi
分析
- if then
从流程上来看,用了shell的条件判断式,if then。
- 条件判断
用到了中括号和test命,两者功能相似。注意,这里的中括号和正则表达式中的中括号不一样,
if [ -z "$filename" ]; then
-z表示判断输入的文件是否为空。中括号和里面的内容之间需要有空格。
test比较常用,可加的参数有很多,列举常见的三个参数。
#判断文件名是否存在 test -e 文件名 #判断文件名是否存在且为文件 test -f 文件名 #判断文件名是否存在且为目录 test -d 文件名
/etc/profile
将所有的配置,加到(>>)/etc/profile后面是为了使我们的更改对所有的连接有效。
如果你只需要临时生效(推出当前连接后即刻失效),只需要在当前的终端里执行:
export JAVA_HOME=文件路径
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
source /etc/profile
使我们的配置立刻生效,无需重启(重新连接)。