我有一个脚本可以自动执行需要访问受密码保护的系统的进程.通过命令行程序访问系统,该程序接受用户密码作为参数.
我想提示用户键入他们的密码,将其分配给shell变量,然后使用该变量构建访问程序的命令行(这当然会产生我将处理的流输出).
我是Bourne/Bash中一个相当称职的shell程序员,但我不知道如何接受用户输入而不让它回显到终端(或者可能使用'*'字符回显).
有人能帮忙吗?
所以我终于通过K&R阅读,并且我在前几页中学到了一些东西,即有一个退格转义字符\b.
所以我去测试它,并且有一些非常奇怪的行为:
#include <stdio.h>
main ()
{
printf("hello worl\b\bd\n");
}
Run Code Online (Sandbox Code Playgroud)
输出是
hello wodl
Run Code Online (Sandbox Code Playgroud)
有谁能解释一下?
如果我想在用户输入内容时用回声*代替密码字符(甚至只是隐藏字符),我需要对Bash中的代码做什么read?