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

如何在Shell脚本中通过另一个脚本传递回车键作为输入值

自动给Shell脚本提供回车键输入的几种方法
  • 方法1:使用echo管道传递回车
    直接通过管道把换行(对应回车键)传给setup.sh,echo默认输出后自带换行,刚好满足需求。在sample.sh中可以这样写:
# 先安装前置依赖
sudo apt install -y 你的依赖包名称
# 自动传递回车给setup.sh
echo | ./setup.sh

如果脚本中有多处需要回车确认,可使用echo -e "\n\n"传递多个换行。

  • 方法2:用yes命令自动回复
    yes命令默认会循环输出指定内容,让它输出空字符串就能持续提供回车输入:
yes "" | ./setup.sh

这个方法适合脚本存在多个回车确认提示的场景,无需手动逐个处理。

  • 方法3:使用expect脚本处理复杂交互
    如果setup.sh有多种不同的交互提示,expect能精准控制每一步交互。先安装expect工具:
sudo apt install -y expect

编写自动交互脚本(例如命名为auto_setup.exp):

#!/usr/bin/expect
spawn ./setup.sh
# 匹配到目标提示后发送回车
expect "Press Enter to use default:"
send "\r"
# 若有其他交互,可继续添加expect和send语句
expect eof

给脚本添加执行权限后,在sample.sh中调用:

# 安装依赖及expect
sudo apt install -y 你的依赖包名称 expect
# 运行自动交互脚本
./auto_setup.exp
  • 方法4:修改setup.sh脚本(最彻底的方案)
    如果有权限修改setup.sh,直接跳过输入步骤、使用默认值即可。比如找到原脚本中提示输入的代码段:
read -p "Press Enter to use default:" user_input
# 使用默认值替代空输入
user_input=${user_input:-默认值}

改成直接赋值默认值,彻底消除输入提示:

user_input="默认值"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:31:00