这是因为在Linux上,bash会有四种模式,根据不同的case,Linux会加载不同模式的bash。一般如果你自己直接登录主机,能看到环境变量,但是使用ssh 远程登录执行脚本就找不到环境变量,那么在你的脚本中修改脚本解释器为如下形式,就能解决你的问题:
#!/bin/bash --login
如果想了解详细的bash的四种模式以及各种模式的特点,请参考下面这篇文章,分析的非常详细:
时间: 2024-10-24 00:01:51
这是因为在Linux上,bash会有四种模式,根据不同的case,Linux会加载不同模式的bash。一般如果你自己直接登录主机,能看到环境变量,但是使用ssh 远程登录执行脚本就找不到环境变量,那么在你的脚本中修改脚本解释器为如下形式,就能解决你的问题:
#!/bin/bash --login
如果想了解详细的bash的四种模式以及各种模式的特点,请参考下面这篇文章,分析的非常详细: