我正在尝试从Linux获取运行在我的Windows机器上的进程列表,但是当我在脚本中执行时没有输出。如果我手动使用telnet并使用pslist命令,则可以获取完整的进程列表,但在我的脚本中则不行。
以下是bash脚本(省略变量):
我做错了什么?
以下是bash脚本(省略变量):
( echo open ${host}
sleep 1
echo ${user}
sleep 3
echo ${pass}
sleep 1
echo pslist
sleep 2
) | telnet
我只需使用bash pslist.sh
来调用它,输出结果如下:
telnet> Trying ip_address...
Connected to ip_address.
Escape character is '^]'.
Welcome to Microsoft Telnet Service
login: my_loginmy_passwordpslistConnection closed by foreign host.
我做错了什么?
echo
命令后加上 \r 字符,像这样:echo -e "${user}\r"
- nsilent22printf 'name: %s\n' "$name"
。 http://wiki.bash-hackers.org/commands/builtin/echo | http://cfajohnson.com/shell/cus-faq.html#Q0b | http://www.in-ulm.de/~mascheck/various/echo+printf - Rany Albeg Weinexpect
来编写telnet脚本。你可以在这里了解并下载它:http://expect.sourceforge.net/ 这里有一个使用它的示例telnet脚本:https://dev59.com/pGsz5IYBdhLWcg3wlY-9 - John Hascall