解析和二义性
事件规范和修饰符的语法由关键字驱动,且以 ksh 约定为基础。所有内容均拆分为用空格分隔的单词。
表达式可能会有内嵌空格,这便会导致不明确情况发生。例如,假设有以下两个命令:
when a -temp
when a-temp
在第一个示例中,尽管应用程序可能有一个名为 temp 的变量,但 dbx 解析器仍会优先将 –temp 作为修饰符来解析事件规范。在第二个示例中,a-temp 作为整体传递给语言特定的表达式解析器。如果不存在名为 a 和 temp 的变量,则会发生错误。可使用括号强制解析。