不是一件有趣的事——
#!/usr/bin/env bash
ssh -i 'my.pem' "ubuntu@${addr}" "docker exec -ti '$name' bash"
我收到这个蹩脚的错误:
the input device is not a TTY
完全没有上下文。 docker 在机器上运行良好。有人知道我可以做些什么来使这项工作按预期进行吗?
我也尝试过这个,我得到了同样的错误:
ssh -i 'my.pem' "ubuntu@${hb_ip_addr}" "bash -c 'docker exec -ti '$name' bash'"
糟糕的。
答案1
答案如下: https://stackoverflow.com/a/47025876/1223975
简而言之,您需要:
ssh -tti
是的,有两个“t”参数。
真是一个噩梦般的实用程序。
所以现在这可以在zsh
我bashv5
的 macOS 机器上运行:
ssh -tti 'my.pem' "ubuntu@${addr}" "docker exec -ti $name bash"