diferença entre chaves e parêntesis normais em bash?

2

qual é a diferença entre chaves e parênteses normais no bash?

FYI ... Eu não entendi na lista de perguntas relacionadas e também não consegui localizá-la na pesquisa de perguntas. Por favor, aponte-me para a pergunta se já foi perguntado.

    
por BHS 21.04.2010 / 09:48

2 respostas

4

As chaves são usadas para expansão de parâmetro ( ${foo%123} ), expansão de contraventamento em formas alternativas ( {foo,bar} ) ou de sequência ( {1..25} ) ou em blocos de código ( { foo ; bar ; } ).

Os colchetes são usados como comparação de comandos ( [ "$foo" -lt 3 ] , [[ $bar =~ ^123 ]] ), como uma classe de intervalo ou caractere em uma glob ( ba[rz] , foo[[:alnum:]] , qu[[=u=]]x ), como parte de uma atribuição de matriz ( foo=([2]=3 4 5) , foo[42]=bar ) ou na expansão de parâmetro ao lidar com uma matriz ( ${foo[@]} ).

Em outras palavras, elas são completamente diferentes.

    
por 21.04.2010 / 09:59
3

link

    
por 21.04.2010 / 09:56