通过 SSH (RHEL 8) 在远程服务器上执行脚本时,未加载环境变量

通过 SSH (RHEL 8) 在远程服务器上执行脚本时,未加载环境变量

我有一个供应商脚本(启动文件)在 Linux 机器上启动应用程序服务。通过登录服务器手动调用时的脚本(如sudo su - 用户ID) 启动所有环境变量。脚本有以下命令行用于加载所有变量。

env > tomcat_envvars.txt

我编写了一个新脚本 (ksh),它通过 SSH 从主服务器到所有应用程序服务器来调用相同的脚本 (启动文件)。下面是通过 SSH 连接到每个应用程序服务器并调用脚本的 shell 脚本片段。

尽管新脚本能够启动服务,但所有环境变量都没有初始化,因为应用程序作业失败。

service_status=$(ssh -T <app server name> <<-EOF >/dev/null 2>&1
                <absolute path of startup.sh>
                EOF
                )

我怀疑这个问题可能是因为我调用 ssh 的方式或者可能与启动文件有关(.bash_配置文件)的用户,用户身份

请阐明问题的原因并解决该问题。

相关内容