tcl - 在 Expect 中请求可能缓存的密码
问题描述
我想做一些类似的事情
systemd-ask-password --keyname=domain:pw --accept-cached Password:
来自期待。此命令可以从终端正常工作,如果它已经存在则返回缓存的密码,或者提示输入它然后缓存它。但是,我还没有设法让它与expect
.
send "systemd-ask-password --keyname=domain:pw --accept-cached Password:\r"
不产生可与之交互的输出,并且
spawn "systemd-ask-password --keyname=domain:pw --accept-cached Password:\r"
说": no such file or directory...
这意味着生成的进程甚至没有使用相同的密钥环。
我很乐意使用较低的级别keyctl
,但我得到了相同的结果
systemd-ask-password
在 tty 上制作或keyctl
提示的正确语法是什么?
解决方案
我认为您的意思是使用您当前所在的 tty 运行命令。这可以使用exec
. 例如,下面的 shell 交互(****
是我输入的地方none
):
$ cat <<\! >myprog
set pw [exec systemd-ask-password --keyname=domain:pw --accept-cached Password:]
send_user "you said pw=$pw\n"
!
$ expect myprog
Password: ****
you said pw=none
$ expect myprog
you said pw=none
推荐阅读
- php - 对 base64_decoded 字符串执行 file_put_contents() 会返回一个空图像
- php - PHP 无法解码使用 json_encode 编码的 JSON
- java - @Scheduled 在 spring boot 中不会触发方法
- powershell - 使用 NPS 和 AD 授予短期 WLAN 访问权限
- python - 使用连续标准化颜色图填充函数下的区域
- php - 即使安装了模块,也找不到 PHP 类
- html - 在引导程序 4 中线性化卡片
- git - 如何告诉 reposurgeon 转换带有空格标签的 SVN 存储库?
- c++ - 从底部和右列查看 PNG 图像 1 像素行缺失
- css - 如果文本较长然后阻塞,则在新行中移动跨度