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[@]}
)。
换句话说,他们是完全不同的。