加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – debian安装程序的Bash脚本不接受用于预置的用户输入

发布时间:2020-12-14 01:00:29 所属栏目:Linux 来源:网络整理
导读:我有一个非常小的脚本需要在debian安装程序上运行:(通过preseeding,预安装脚本) echo -n -e " # Your option [1] [2] [3]: " read REPLY if [ "$REPLY" == "1" ] 脚本在这里停止,我按下的任何内容都只显示在屏幕上,但它不接受输入键.通常,当您按1并按Enter键
我有一个非常小的脚本需要在debian安装程序上运行:(通过preseeding,预安装脚本)

echo -n -e " # Your option [1] [2] [3]: "
    read REPLY
    if [ "$REPLY" == "1" ]

脚本在这里停止,我按下的任何内容都只显示在屏幕上,但它不接受输入键.通常,当您按1并按Enter键时,读取应返回1到$REPLY.但没有任何反应.它不断接受用户输入,但不会发生进一步的操作.

然后,我用ALT F2切换到tty2并在那里运行脚本,没关系,它按预期工作,当我按;需要输入.为什么tty1不接受像往常一样进入?

解决方法

使用 debconf进行这种配置,它可以满足您的需求.

手册中的改编示例

模板文件(debian / templates):

Template: your_package/select_option
Type: select
Choices: 1,2,3
Description: Which option?
 Choose one of the options

脚本(debian / config):

#!/bin/sh -e

# Source debconf library.
. /usr/share/debconf/confmodule

db_input medium your_package/select_option || true
db_go

# Check their answer.
db_get your_package/select_option
if [ "$RET" = "1" ]; then
   # Do stuff
fi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读