若要读取密码并传递给其他程序,可以使用
函数 read-passwd。
该函数读取密码,使用 prompt 作为提示信息。用户输入时
不会回显密码本身;而是对密码中的每个字符回显
‘*’。如果希望使用其他字符来隐藏密码,
可以将变量 read-hide-char 临时绑定为该字符。
可选参数 confirm 若非 nil,则表示需要读取两次密码
并要求两次输入必须一致。如果不一致,用户必须反复输入,
直到最后两次匹配为止。
可选参数 default 指定当用户输入为空时返回的默认密码。
如果 default 为 nil,则此时 read-passwd
返回空字符串。
该函数使用一个次要模式 read-passwd-mode。它在迷你缓冲区中
绑定了两个按键:C-u(delete-minibuffer-contents)
用于删除密码,TAB(read-passwd--toggle-visibility)
用于切换密码的可见性。在模式行的 global-mode-string
中还会显示一个额外图标。使用 mouse-1 点击该图标同样可以
切换密码的可见性。