您如何获得 linux 命令行提示符的 process.expect("$") 触发?

How do you get pexpect to trigger on process.expect("$") for the linux command line prompt?

我在检测 Linux 命令提示符的 "$" 时遇到问题。为了更好地了解我要完成的工作:

我想触发预期的命令行提示示例:

testcomp@testcomp-desktop:~$

我预期的检测代码示例:

child.expect(['$',pexpect.TIMEOUT])

测试后的结果是,即使有提示,它也会选择 pexpect.TIMEOUT。我还尝试了 "$" 的几种不同变体,例如 "$""~$"

仅供参考,如果您想通过控制台连接到 Linux 机器(我使用的是 minicom),则此代码应该有效。上面的评论中描述的是使用“[$]”来检测 Linux 命令行提示符,它似乎运行良好。

child = pexpect.spawn("minicom -b 115200 -o -D /dev/ttyUSB0")
check = child.expect(["login",'[$]'])
if(check == 0):
    child.sendline(username)
    child.sendline(password)
else:
    child.sendline("\r")