基于任何命令的字符串匹配触发zsh函数';什么是标准?

基于任何命令的字符串匹配触发zsh函数';什么是标准?,zsh,Zsh,这很难找到。 我唯一能找到的是TRAP*函数,它可以通过各种信号触发 但是我真的想查看所有的stdout/stderr,如果某个字符串匹配,就有一个函数触发器 (例如:刷新kerberos凭据。命令失败并发出标准错误消息,指示我需要进行身份验证。我希望自动运行该命令以执行此操作;)如果未通过管道传输到shell,则shell不会看到命令的stdout/stderr。因此,需要将stdout/stderr重定向到zsh函数。但是您也可以将它们发送到您的zsh函数和其他地方。例如: your_com

这很难找到。 我唯一能找到的是TRAP*函数,它可以通过各种信号触发

但是我真的想查看所有的stdout/stderr,如果某个字符串匹配,就有一个函数触发器


(例如:刷新kerberos凭据。命令失败并发出标准错误消息,指示我需要进行身份验证。我希望自动运行该命令以执行此操作;)

如果未通过管道传输到shell,则shell不会看到命令的stdout/stderr。因此,需要将stdout/stderr重定向到zsh函数。但是您也可以将它们发送到您的zsh函数和其他地方。例如:

your_command 2>&1 | tee >(your_zsh_function)

您的_zsh_函数
将grep其输入,以获得字符串匹配。缺点是可能存在缓冲问题

但关于您的示例,如果我理解正确,您可能希望使用
expect
实用程序:“交互式程序编程对话”

your_command |& tee >(your_zsh_function)
your_command >>(your_zsh_function) >>/dev/tty 2>&1