嵌套的SSH -T -T不提供$ PS1



我正在尝试运行一个嵌套的ssh -t -t,但是它在使用catecho时不会为我提供环境变量。

#!/bin/bash
pass="passwordn"
bla="cat <(echo -e '$pass') - | sudo -S su -"
ssh -t -t -t -t jumpserver "ssh -t -t -t -t server "$bla" "

我将获得一个输出,而无需考虑任何变量。(例如,PS1未显示,但命令正常),问题与cat <(echo -e '$pass') -有关,但这是在提供sudo密码后保持echo活力的方法。

如何实现此目标并获取环境变量以获取适当的输出?

谢谢。

  1. -tt就足够了。使用更多的-t不会添加更多效果,只会给人留下深刻的印象,即您不知道自己在做什么。

  2. cat <(echo -e)结构的意义是什么?仅写echo会导致相同的内容,不是吗?

  3. 为什么要使用sudo susudo已经需要所有需要吗?

那么它如何以某种时尚的方式外观?

pass="passwordn"
bla="echo '$pass' | sudo -Si"
ssh -tt jumpserver "ssh -tt server "$bla""

它可以工作吗?尝试使用-vvv切换到ssh的命令进行调试。它将向您展示实际执行的内容并互相传递给彼此。

相关内容

  • 没有找到相关文章

最新更新