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]#