向各位老司机请教一下:我在A机器上远程操作要在B机器上安装jdk并配置相关文件,脚本能正常执行并修改配置文件,但是最后一句source /etc/profile 却不起作用。在B机器上输入java,
[root@Slave1 ~]# java
-bash: java: command not found
请问要怎样处理才能使新配置文件在B机器上生效呢?
#!/bin/bash
SERVERS="192.168.91.21"
PASSWORD=123456
BASE_SERVER=192.168.91.10
for SERVER in $SERVERS
do
scp install.sh root@$SERVER:/root
ssh root@$SERVER /root/install.sh
done
#install.sh文件内容如下
#!/bin/bash
YUM_SERVER=192.168.91.10
#yum install -y wget
#安装java
wget $YUM_SERVER/soft/jdk-7u45-linux-x64.tar.gz
tar -zxvf jdk-7u45-linux-x64.tar.gz -C /usr/local
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk1.7.0_45
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
source /etc/profile
#安装其它软件
参考:https://www.cnblogs.com/sky-/p/5026012.html
真不行重启一下服务器
B机器的终端重新打开一次试一下
我也碰到过,配置后最后重启就好了,也没执行source,也就没在搞过
要么就是centOS版本的问题
估计是用户权限问题,你可以把jdk环境变量放到.bashrc下然后执行. .bashrc 就可以暂时使用jdk
感觉你环境没有配好,没有配进去,配置文件打开检查下,路径对不对
我的也是不行,没有配置好
重启一下终端,因为source命令也称为“点命令”也就是一个符号(.).source命令通常用于重新执行刚修改的初始或文件,使之立即生效,而不必注销并重新登录,如果他执行不起效果,就重启一下
我在install.sh文件最后添加了一行“java",是能有相关输出的,证明source /etc/profile这语句在A机器上的shell是生效的。B机器如果重启后,
java命令也能正常使用,证明配置没问题的。 但如果不重启,为什么在B机器上运行[root@Slave1 ~]# java
-bash: java: command not found?
环境没有配置好吧,配置后重启试一下。
巧了,我觉得要重新配置