You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在终端中10秒后向交互式命令注入初始指令?

解决方案

方法1:纯Bash管道实现(无需额外工具)

直接在发送初始命令前添加sleep 10,后续通过cat保持标准输入的交互性,命令如下:

(sleep 10 && echo "initial cmd" && cat) | interactive_cmd

原理说明

  • sleep 10:等待10秒后再执行后续命令
  • echo "initial cmd":向交互式进程注入初始指令
  • cat:持续读取你的终端输入并传递给进程,确保进程不会因为输入结束而退出,保持交互状态

方法2:Expect脚本(适用于依赖TTY的交互式程序)

如果目标程序(比如ssh、vim这类需要终端环境的工具)无法通过管道正常工作,使用Expect脚本更可靠:

  1. 创建一个delay_inject.exp脚本:
#!/usr/bin/expect
# 启动目标交互式进程
spawn interactive_cmd
# 等待10秒
sleep 10
# 发送初始指令(\r模拟回车)
send "initial cmd\r"
# 切换到用户交互模式,保持进程活跃
interact
  1. 赋予脚本执行权限并运行:
chmod +x delay_inject.exp
./delay_inject.exp

原理说明

  • spawn:启动目标进程并建立控制会话
  • sleep 10:延迟10秒发送指令
  • send:向进程注入初始命令
  • interact:将控制权交还给用户,允许你继续和进程交互

内容的提问来源于stack exchange,提问作者questions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 16:49:56