我有一个waitfor命令,但它没有认识到这种模式。可能有什么问题?
while(@wait = $t->waitfor('/bash-3.2\$ $/i'))
谢谢, 沙拉斯
答案 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将运行你的单个命令并返回结果。