您如何获得 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")
我在检测 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")