一、问题发现:
在使用jsch远程调用shell命令时,提示java: command not found。
这个错误的意思是linux的环境变量里没有配置JAVA_HOME的内容。
但是我在Linux上查看了一下环境变量,发现已经配置了。
vim /etc/profile
二、解决办法
经过多方查找原因后发现是因为远程执行shell脚本时,不会自动加载环境变量,导致出现此错误,
解决方案就是在脚本前加上这段代码即可。
source /etc/profile;
比如:
source /etc/profile;java -version
多个命令之间用分号隔开。
三、扩展补充
执行多条命令的分隔号区别:
- 每条命令使用";"隔开,则无论前边的命令执行成功与否都会继续执行下一条命令
- 若命令间使用"&&"隔开,则只有前边的命令执行成功了再会继续执行后边的命令
- 若命令间使用"||"隔开,则只有前边的命令执行失败了再回继续执行后边的命令
四、更多
获取更多技术方面的文章,欢迎关注我的微信公众号:
来源:CSDN
作者:ted_happy
链接:https://blog.csdn.net/wanghaoyuhappy/article/details/104753378