我有一个要求,其中需要执行一个需要设置一些环境变量的脚本。通常需要以下内容:
1)我登录到目标节点,比如 T1 使用 'user1' 并设置我的环境变量,比如 TEMPDIR=~/tmp; 做一个源 ~/.bashrc 并注销。
2) 现在我需要执行非交互式 shell 脚本。这是登录到管理服务器并运行命令:ssh user1@T1 "sudo -u user2 /path/filescript"
我执行的文件脚本需要设置 TEMPDIR。
上述设置不起作用,因为在非交互式 shell 期间没有获取 bash shell(如果我的理解是正确的)。为了克服这个问题,我尝试了本网站和其他网站中提供的以下建议,但没有任何运气:
ssh user1@T1 "source ~/.bashrc; sudo -u user2 /path/filescript"
ssh user1@T1 "sudo -u user2 env -i /path/filescript"
请帮忙。谢谢。
注意:我正在尝试在没有 root 干预的情况下完成此操作(我的意思是使用 root 设置/取消设置任何变量。