java: 特定路径的jar文件自动添加到环境变量CLASSPATH中(linuxos-shell脚本)
java: 特定路径的jar文件自动添加到环境变量CLASSPATH中(linuxos-shell脚本)
一、脚本内容
#!/usr/bin/bash
# 脚本名称: load-java-jar
#
#
# 脚本功能: 将特定路径下的所有的xx.jar包,添加到环境变量"CLASSPATH"中。
# 这种添加"xx.jar"包的方法,是临时起作用;
# 每次电脑重启或者使用"source /profile"命令,设置会失效。
# 若想重新生效,需要重新运行这个脚本。
#
#
# 脚本运行方法: [root@openeuler libs]# source load-java-jar
#
#
# 脚本环境信息:
# [root@openeuler libs]# uname -a
# Linux openeuler 5.10.0-60.18.0.50.oe2203.x86_64 #1 SMP Wed Mar 30 03:12:24 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
# [root@openeuler libs]# java -version
# java version "17.0.1" 2021-10-19 LTS
# Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
# Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
# [root@openeuler libs]#
# 防止CLASSPATH多次重复设置;因为"CLASSPATH变量存在递归定义( CLASSPATH=${CLASSPATH}${jar_path} )",会导致CLASSPATH重复设置。
source /etc/profile
# 设置xxx.jar文件所在的目录;注意这里要设置成为“绝对路径”。
jar_files=$( ls /root/user/lidawei/tmp/libs/*.jar )
# jar_path: 用于存储所有的xx.jar 文件的绝对路径。
jar_path=""
# 拼接字符串,并将这个字符串存储在变量“jar_path”之中
for x in ${jar_files}
do
jar_path=${jar_path}":"${x}
done
# 设置环境变量
export CLASSPATH=${CLASSPATH}${jar_path}
echo "CLASSPATH := " ${CLASSPATH}
二、脚本应用
[root@openeuler libs]# uname -a
Linux openeuler 5.10.0-60.18.0.50.oe2203.x86_64 #1 SMP Wed Mar 30 03:12:24 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@openeuler libs]# java -version
java version "17.0.1" 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
[root@openeuler libs]# ls
load-java-jar temp.jar
[root@openeuler libs]# env
SHELL=/bin/bash
HISTCONTROL=ignoredups
HISTSIZE=1000
HOSTNAME=openeuler
JAVA_HOME=/usr/local/java/jdk17
PWD=/root/user/lidawei/tmp/libs
LOGNAME=root
MOTD_SHOWN=pam
HOME=/root
LANG=en_US.UTF-8
SSH_CONNECTION=10.10.10.12 60436 10.10.10.16 22
SELINUX_ROLE_REQUESTED=
TERM=xterm-256color
USER=root
SELINUX_USE_CURRENT_RANGE=
SHLVL=1
CLASSPATH=.:/usr/local/java/jdk17/lib
SSH_CLIENT=10.10.10.12 60436 22
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/java/jdk17/bin:/root/tools:/root/bin:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools
SELINUX_LEVEL_REQUESTED=
MAIL=/var/spool/mail/root
SSH_TTY=/dev/pts/0
OLDPWD=/root/user/lidawei/tmp
_=/usr/bin/env
[root@openeuler libs]# source load-java-jar
Welcome to 5.10.0-60.18.0.50.oe2203.x86_64
System information as of time: Thu Apr 14 03:30:55 PM CST 2022
System load: 0.00
Processes: 225
Memory used: 8.6%
Swap used: 0%
Usage On: 7%
IP address: 10.10.10.16
IP address: 192.168.122.1
Users online: 1
CLASSPATH := .:/usr/local/java/jdk17/lib:/root/user/lidawei/tmp/libs/temp.jar
[root@openeuler libs]# env
SHELL=/bin/bash
HISTCONTROL=ignoredups
HISTSIZE=1000
HOSTNAME=openeuler
JAVA_HOME=/usr/local/java/jdk17
PWD=/root/user/lidawei/tmp/libs
LOGNAME=root
MOTD_SHOWN=pam
HOME=/root
LANG=en_US.UTF-8
SSH_CONNECTION=10.10.10.12 60436 10.10.10.16 22
SELINUX_ROLE_REQUESTED=
TERM=xterm-256color
USER=root
SELINUX_USE_CURRENT_RANGE=
SHLVL=1
CLASSPATH=.:/usr/local/java/jdk17/lib:/root/user/lidawei/tmp/libs/temp.jar
SSH_CLIENT=10.10.10.12 60436 22
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/java/jdk17/bin:/root/tools:/root/bin:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools:/usr/local/java/jdk17/bin:/root/tools
SELINUX_LEVEL_REQUESTED=
MAIL=/var/spool/mail/root
SSH_TTY=/dev/pts/0
OLDPWD=/root/user/lidawei/tmp
_=/usr/bin/env
[root@openeuler libs]# cat load-java-jar
#!/usr/bin/bash
# 脚本名称: load-java-jar
#
#
# 脚本功能: 将特定路径下的所有的xx.jar包,添加到环境变量"CLASSPATH"中。
# 这种添加"xx.jar"包的方法,是临时起作用;
# 每次电脑重启或者使用"source /profile"命令,设置会失效。
# 若想重新生效,需要重新运行这个脚本。
#
#
# 脚本运行方法: [root@openeuler libs]# source load-java-jar
#
#
# 脚本环境信息:
# [root@openeuler libs]# uname -a
# Linux openeuler 5.10.0-60.18.0.50.oe2203.x86_64 #1 SMP Wed Mar 30 03:12:24 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
# [root@openeuler libs]# java -version
# java version "17.0.1" 2021-10-19 LTS
# Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
# Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
# [root@openeuler libs]#
# 防止CLASSPATH多次重复设置;因为"CLASSPATH变量存在递归定义( CLASSPATH=${CLASSPATH}${jar_path} )",会导致CLASSPATH重复设置。
source /etc/profile
# 设置xxx.jar文件所在的目录;注意这里要设置成为“绝对路径”。
jar_files=$( ls /root/user/lidawei/tmp/libs/*.jar )
# jar_path: 用于存储所有的xx.jar 文件的绝对路径。
jar_path=""
# 拼接字符串,并将这个字符串存储在变量“jar_path”之中
for x in ${jar_files}
do
jar_path=${jar_path}":"${x}
done
# 设置环境变量
export CLASSPATH=${CLASSPATH}${jar_path}
echo "CLASSPATH := " ${CLASSPATH}
[root@openeuler libs]#
[root@openeuler libs]#
[root@openeuler libs]#
[root@openeuler libs]#