Waitfor没有识别Perl中的表达式

时间:2014-05-22 08:09:06

标签: perl

我有一个waitfor命令,但它没有认识到这种模式。可能有什么问题?

while(@wait = $t->waitfor('/bash-3.2\$ $/i'))

谢谢, 沙拉斯

1 个答案:

答案 0 :(得分:0)

您需要设置waitfor以匹配您的PS1提示。

如果我在我的机器上:

export PS1=export PS1="\s-\v\$"

我的提示变为:

bash-3.2$

所以我认为你的代码应该寻找

while(@wait = $t->waitfor('/bash\-3\.2\$/i'))

希望匹配

我不得不怀疑你的正则表达式是不是问题。

如果您运行交互式命令(如bash),它将永远不会将控制权返回给程序,因为它没有用户输入。而且,while循环让我有点害怕。我不确定你为什么需要那个。

如果您确实需要bash,请尝试使用bash -c <some command>运行命令 这样bash将运行你的单个命令并返回结果。