如何从 sh 脚本通过 telnet 发送 SOH 字符?

How do I send an SOH character over telnet from an sh script?

我正在 运行 编写一个相当简单的 sh 脚本来自动执行一些 telnet 命令,但我 运行 遇到了问题。

一个命令需要一个 SOH 字符(通常使用 CTRL + A 发送)后跟命令名称,然后输入。这是其中的一个片段,但它不起作用:

#!/bin/sh
(
echo open 12.34.56.78
sleep 2
echo -e "\u001""commandname"
echo -e "\n"
sleep 3
echo "quit"
) | telnet

我做错了什么?如何通过脚本发送 SOH 字符?

使用printf.

{
  printf "open 12.34.56.78\n"
  sleep 2
  printf '[=10=]1commandname\n\n'
  sleep 3
  printf 'quit\n'
} | telnet