我正在使用ftp命令行工具,希望将脚本输入和用户输入结合起来。只有用户输入,提示如下所示:
ftp>但是当我尝试用脚本插入一些输入时,比如
{echo "user username passwd"; cat;} | ftp -n server.tld如何强制ftp (或任何cli)仍然使用交互模式?
我更喜欢基于标准shell工具的解决方案。
发布于 2014-10-01 12:50:23
有一个与交互式命令行工具交互的程序,与ftp示例expect完全一样。它是一个专门的脚本外壳,在脚本语言tcl上扩展。
它是非常强大的,但你可以逃脱,而不了解它的一切。autoexpect是一个非常有用的工具,它可以将交互式会话记录为expect脚本。录制的脚本当然有助于理解基础知识。
expect脚本可以与交互式程序(如ftp )交互。这可以与用户和交互程序的交互相结合。使用命令interact在expect脚本中,该控件可以临时授予用户。
当用户拥有控件时,脚本仍然会侦听事件以取回控件,因此实际上,用户和脚本都在与程序同时交互。
https://unix.stackexchange.com/questions/158606
复制相似问题