通过 SSH 连接到服务器,执行命令并将控制权交还给用户

通过 SSH 连接到服务器,执行命令并将控制权交还给用户

我怎样才能用一个 ssh 命令做这样的事情:

echo << EOF
echo "Choose a file:" *
read f
rm -r "$f"
EOF | ssh user@host

我可以使用-tt(是的t's) 与 ssh 使 ssh 从标准输入读取,但它似乎不允许read工作。

有办法做到这一点吗?

答案1

如果我正确理解你的示例命令,这应该有效:

ssh user@host 'echo "Input something:"; read VAR; echo "Got: $VAR"'              

当“主机”是 Slackware Linux 服务器并ssh在 Arch Linux 笔记本电脑上运行时,这种方法就有效。我在 Slackware 服务器上的 shell 是 zsh 4.2.6 (i486-slackware-linux-gnu)。由于read是内置的 shell,我想 shell 的选择可能与它有关。

相关内容