【问题标题】:is it possible to run bash commands over shell running on telnet?是否可以在 telnet 上运行的 shell 上运行 bash 命令?
【发布时间】:2020-05-24 02:47:24
【问题描述】:

所以我们有运行 Linux 的嵌入式 Linux 板。
我们可以使用 telnet 连接到该板,然后生成 shell 并提供对它的访问权限。

现在我正在编写一个 bash 脚本,我想在该 shell 上运行命令并获取其输出。

例如我的命令类似于下面通过 telnet 的命令,看看是否成功。

test -c /dev/null

当我像下面这样运行它时,我总是得到1 作为退出状态

{ test -c /dev/null; sleep 1;} | telnet <board ip addr>

如果可能我不想使用期望,

任何建议/指针?

【问题讨论】:

  • 你能在那个 Linux 板上安装 ssh 服务器吗?
  • 不行不能安装 ssh :(

标签: linux bash telnet


【解决方案1】:

使用 SSH 可以轻松而可靠地完成:

ssh yourhost 'test -c /dev/null'

在 TCP 端口上使用一个简单的 shell,您可以使用得有点健壮但令人讨厌:

echo 'test -c /dev/null; echo $?' | nc -q 1 yourhost 1234

telnet 是出了名的时间敏感和脚本棘手,所以既然你不想用 expect 稳健地做到这一点,你可以试着把它弄混:

{ sleep 1; echo 'test -c /dev/null; echo $?'; sleep 1; } | telnet somehost

【讨论】:

    猜你喜欢
    • 2014-05-26
    • 2018-04-07
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    相关资源
    最近更新 更多