Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中编写自定义扩展,例如方括号[]_Bash - Fatal编程技术网

在bash中编写自定义扩展,例如方括号[]

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

是否可以在bash中编写自定义扩展挂钩,就像bash对{a..b}所做的那样?我想实现扩展/操作方括号[content]及其内部内容的功能。我希望所有现有脚本/命令按原样工作

否,
bash
不支持此功能



虽然可以编写一个版本的
bash
来允许某种自定义的解析挂钩,这并不是不可想象的,但是
[…]
将是一个糟糕的选择,因为方括号已经被用作
test
命令和正则表达式括号表达式的同义词(即
[ab]cd
匹配
acd
bcd
)。您将很难单独定义方括号的另一个用途,而不影响这些现有用途。(虽然这不是不可能的,正如过时的算术表达式的
$[…]
符号所示。)

不重新编译就不行。为什么你要尝试用它来破坏它已经执行的扩展?