通过ssh调用交互式bash脚本

Mar*_*era 5 ssh bash scripting scp ssh-tunnel

我正在编写一个"工具" - 一些bash脚本 - 可以自动化集群中每台服务器上的安装和配置.

"工具"从主服务器运行.它将自己(通过SCP)分配并分发给其他所有服务器,并通过"批量"SSH解压缩副本.

在设置期间,该工具从主服务器发出以下远程命令:echo './run_audit.sh' | ssh host4 'bash -s'.该方法在许多情况下都有效,除非存在交互行为,因为标准输入已在使用中.

有没有办法通过SSH以交互方式运行远程bash脚本?

作为起点,请考虑以下情况: echo 'read -p "enter name:" name; echo "your name is $name"' | ssh host4 'bash -s'

在上面的情况下,提示永远不会发生,我该如何解决?

提前致谢.

dav*_*420 9

直接运行命令,如下所示:

ssh -t host4 bash ./run_audit.sh
Run Code Online (Sandbox Code Playgroud)

对于一个安可,修改shell脚本,使其从命令行或配置文件而不是从stdin(或优先于stdin)读取选项.

我是第二个丹尼斯威廉姆森建议调查木偶/等.