在bash中编写自定义扩展,例如方括号[]
是否可以在bash中编写自定义扩展挂钩,就像bash对{a..b}所做的那样?我想实现扩展/操作方括号[content]及其内部内容的功能。我希望所有现有脚本/命令按原样工作否,在bash中编写自定义扩展,例如方括号[],bash,Bash,是否可以在bash中编写自定义扩展挂钩,就像bash对{a..b}所做的那样?我想实现扩展/操作方括号[content]及其内部内容的功能。我希望所有现有脚本/命令按原样工作否,bash不支持此功能 虽然可以编写一个版本的bash来允许某种自定义的解析挂钩,这并不是不可想象的,但是[…]将是一个糟糕的选择,因为方括号已经被用作test命令和正则表达式括号表达式的同义词(即[ab]cd匹配acd或bcd)。您将很难单独定义方括号的另一个用途,而不影响这些现有用途。(虽然这不是不可能的,正如过时的
bash
不支持此功能
虽然可以编写一个版本的
bash
来允许某种自定义的解析挂钩,这并不是不可想象的,但是[…]
将是一个糟糕的选择,因为方括号已经被用作test
命令和正则表达式括号表达式的同义词(即[ab]cd
匹配acd
或bcd
)。您将很难单独定义方括号的另一个用途,而不影响这些现有用途。(虽然这不是不可能的,正如过时的算术表达式的$[…]
符号所示。)不重新编译就不行。为什么你要尝试用它来破坏它已经执行的扩展?