我有这种行为,我不知道如何修复它,甚至不知道如何搜索修复它,因为我什至不知道如何称呼它。
这是发生了什么:
我第一次启动时,当我输入用户名并按Retrun密码时,大约半秒或四分之一秒后会出现提示。问题是,在我输入用户名后,我通常按下Return并立即开始输入密码;但是由于Password:还没有出现,tty开始将我输入的字符直接打印到屏幕上。
例如,假设我的用户名和密码分别是:Username和Password。如果我要登录,tty1它看起来像这样。开头的“Pa”在那里是因为我在Password:实际出现之前就开始输入“密码” 。
Debian GNU/Linux stretch/sid hostname tty1
hostname login: Username
PaPassword:
Run Code Online (Sandbox Code Playgroud)
一个简单的解决方案当然是输入用户名并在输入密码之前稍等片刻,但是我希望深入了解并找到导致此问题的原因。我担心有一天提示可能会滞后超过四分之一秒(例如几秒钟),并且我会在Password:最终出现之前不小心将整个密码输入到屏幕上。
有没有办法知道这里发生了什么?
例如,使用这个脚本:
#!/bin/bash
for a in $@
do
echo $a
done
Run Code Online (Sandbox Code Playgroud)
并运行:./script "x y" z返回:
x
y
z
Run Code Online (Sandbox Code Playgroud)
并不是:
x y
z
Run Code Online (Sandbox Code Playgroud)
这是为什么?
我如何将带空格的字符串参数传递给 bash?
我用Bash 4.3.33.