带有 read 的 rc.local 不会回显击键

Goi*_*Off 5 startup centos shell-script

我正在使用 CentOS 6.4 并且read/etc/rc.local文件中使用时有一个小问题。它将允许键盘输入,但在输入过程中不会回显任何击键。这在 CentOS 5.5 中运行良好。

有谁知道这里发生了什么?

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
echo -n "name? "
read name
echo "Name: $name"
touch /var/lock/subsys/local
Run Code Online (Sandbox Code Playgroud)

产生 ( /var/log/boot.log):

name? Name: john

slm*_*slm 2

我想知道这是你的问题吗?

我发现这个 CentOS 论坛帖子标题为:[已解决] rc.local 期间的用户输入?

问题摘录

我试图在执行 rc.local 文件期间安装加密驱动器。它提示输入密码,但在第二次按键时,它似乎正在接收 crlf (或其他)并尝试解锁驱动器 - 失败,因为我还没有傻到用双字符密码对其进行加密。

显然的答案是首先禁用plymouth

除非先运行“plymouth quit”,否则无法从 rc.local 运行交互式脚本。

普利茅斯是什么?

摘自Freedesktop.org

Plymouth 是一个在启动过程的早期运行的应用程序(甚至在安装根文件系统之前!),它在启动过程在后台发生时提供图形启动动画。

它设计用于具有DRM模式设置驱动程序的系统。这个想法是,在启动过程的早期,设置计算机的本机模式,plymouth 使用该模式,并且该模式在 X 启动之前和之后的整个启动过程中保持不变。理想情况下,目标是消除启动期间的所有闪烁。

解决您的问题

所以我相信您需要做的就是在运行read命令之前使用您输入的rc.local命令:

plymouth quit
Run Code Online (Sandbox Code Playgroud)