目录
问题描述
问题原因
解决:
问题描述
- 一次写自动化安装脚本,要安装java,需要将JAVA_HOME写到/etc/profile中,然后在脚本中使用source /etc/profile命令,但是发现profile文件中确实有JAVA_HOME。但是使用source /etc/profile命令好像没其作用。使用java相关命令,提示没有找到该命令,于是手动source /etc/profile一下后发现可以使用java相关命令了。
- 查了下资料,知道了原因,记录分享一下。
[root@tq-rocketmq-master rocketmq-all-4.6.1]# java
bash: java: command not found
问题原因
-
使用
bash 脚本名
方式来执行脚本,这种方式会启动一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但是执行的结果只在子shell中有效,不会返回给父shell。
解决:
- 解决方法:使用 source 脚本名 来调用脚本即可