Linux如何等待远程pid(telnet)

发布于 2024-10-20 04:11:19 字数 432 浏览 4 评论 0原文

通过 telnet 运行“远程”shell(远程服务器上没有 ssh),我需要等待远程 shell 端发送连接关闭 i/o“睡眠”。

。我的本地外壳 | telnet

#!bin/bash
# run remote shell
echo "remote_shell.sh \"required_parameters\""
sleep 30
echo close XX

我需要类似的东西:

# run remote shell
echo "remote_shell.sh \"required_parameters\" &"
echo "wait $!"
echo close XX

但我无法让它工作,因为我猜远程 pid 与本地 pid 是“混合”的。

如何实现这一目标?

Running a "remote" shell via telnet (no ssh on the remote server), I need to wait for the remote shell end to sending the connection closure i/o "sleep".

. my_local_shell | telnet

#!bin/bash
# run remote shell
echo "remote_shell.sh \"required_parameters\""
sleep 30
echo close XX

I need rather something like :

# run remote shell
echo "remote_shell.sh \"required_parameters\" &"
echo "wait $!"
echo close XX

But I could not get it working as I guess the remote pid is "mixed" with the local one.

How to achieve this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绿光 2024-10-27 04:11:19

您需要逃避美元符号。

echo "wait \$!"

或者

echo 'wait $!'

按照您现在的方式,特殊变量在本地 shell 中扩展。通过转义它,远程 shell 的扩展会被延迟。

You need to escape the dollar sign.

echo "wait \$!"

or

echo 'wait $!'

The way you have it now, the special variable gets expanded in the local shell. By escaping it, expansion gets delayed for the remote shell to do.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文