gpt4 book ai didi

windows - 隐藏用户输入

转载 作者:可可西里 更新时间:2023-11-01 12:53:57 26 4
gpt4 key购买 nike

我正在尝试获取一个脚本,该脚本既可以在 native Windows shell 中运行,也可以在 cygwin shell 中(通过 ssh)运行,提示输入并读取用户输入的密码。到目前为止,我尝试了以下方法:

  1. 使用 Term::ReadKey 并将 ReadMode 设置为“noecho”
    • 结果:返回错误 GetConsoleMode failed 并退出
  2. 使用 Term::ReadPassword::Win32
    • 结果:挂起,从不提供提示或读取输入
  3. 使用 IO::Prompt
    • 结果:返回错误无法写入终端并退出
  4. 使用 Term::InKey
    • 结果:返回错误未在 MSWin32 上实现:句柄无效并退出

所有这些都在 native Windows shell(命令提示符或 power shell)中工作,但当我在与服务器的 ssh session 中时,它们都不起作用。

真的,这就是我最感兴趣的,让它在远程 ssh session 中工作。

我通过安装在 Windows 服务器 (2003 R2) 上的 cygwin 获取 ssh。我使用的是 strawberry perl 而不是 cygwin perl(cygwin perl 破坏了我需要在 Windows 中本地运行的其他 perl 脚本,而不是通过 ssh)。

我最好的猜测是 cygwin+Windows 与 strawberry perl 搞得一团糟,以至于它无法分辨它所处的环境类型。我正在寻找替代的 sshd+Windows 解决方案来探索这个问题。

这些是我在搜索中能够找到的所有方法。是否还有其他人可以建议隐藏用户输入的其他方法?

最佳答案

use Term::ReadKey;
print "Please enter your artifactory user name:";
$username = <STDIN>;
chomp($username);
ReadMode('noecho'); # don't echo
print "Please enter your artifactory password:";
$password = <STDIN>;
chomp($password);
ReadMode(0); #back to normal
print "\n\n";

关于windows - 隐藏用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5239465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com