bash中的括号和正常括号之间的区别?

bash中的大括号和正常括号有什么区别?

仅供参考…我没有得到它在相关的问题清单,也无法find它的问题search。 请问我是否已经问过这个问题。

大括号用于参数扩展( ${foo%123} ),以替代( {foo,bar} )或序列forms( {1..25} )或代码块( { foo ; bar ; } )。

方括号用作比较命令( [ "$foo" -lt 3 ][[ $bar =~ ^123 ]] ),作为glob中的范围或字符类( ba[rz]foo[[:alnum:]]作为数组赋值( foo=([2]=3 4 5)foo[42]=bar )的一部分,或者在处理数组( ${foo[@]} )。

换句话说,他们是完全不同的。