我正在运行一个相当简单的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字符?
答案 0 :(得分:1)
使用printf
。
{
printf "open 12.34.56.78\n"
sleep 2
printf '\001commandname\n\n'
sleep 3
printf 'quit\n'
} | telnet