Suporte a matriz para o bash original no MacOS 10.4.0?

0

Estou escrevendo um script bash usando operações de matriz simples como: testarray=("First Name" "Second Name" "Third Name") ; for i in "${testarray[@]}" ; do echo "$i" ; done

Qual número da versão bash veio com a versão original? 10.4.11 mostra-me mais ou menos 2.05b.0(1)-release, copyright 2002.

Eu testei no meu MacOS 10.4.11 e desde que vi o 2.05b vrsion, eu meio que me assustei, já que é muito antigo, mesmo para 10.4.11 ... 10.4.0 é provavelmente sub 2.0. Meu script é compatível com 10.4.0?

Alguém aqui provavelmente vai jogá-lo em uma máquina virtual ppc ou algo assim. Não precisa ser exatamente 10.4.0, mas mais perto é melhor. Não sei dizer se a documentação da Apple está correta, mas ela tem o número exato da versão no páginas de manual on-line :)

    
por Vlueboy 13.07.2011 / 23:24

2 respostas

2

Você pode consultar www.opensource.apple.com para examinar os componentes de código aberto usados nas várias versões do Mac OS X.

10.4 (.0) incluído “bash-44.2”; seu arquivo CHANGES indica que é 2.05b.

10.4.11 em x86 e 10.4.11 no PPC ambos incluem “bash-44.5”; MUDANÇAS dizem que é 2.05b.

As diferenças de código entre os bash-44.2 e -44.5 da Apple são mínimas: adicionamos volatile a uma variável e alteramos um pouco o manuseio do SIGWINCH.

Mais atrás, 10.2 (.0) incluído “bash-23” ; CHANGES diz que é 2.05a.

O Bash não está listado como um componente de 10.1 ou 10.0 .

Parece que (de acordo com os NEWS ) os arrays foram apresentados como um novo recurso no bash-2.0 , então parece que você está seguro de volta para pelo menos o Mac OS X 10.2.

    
por 14.07.2011 / 05:34
2

Eu não tenho um sistema 10.4.0 à mão; você vai se contentar com 10.3.9? Ele veio com a versão bash 2.05b.0 (1) -release, então eu acho que você está segura.

Edit: Eu encontrei algumas das minhas anotações antigas, e se elas estão corretas, a versão OS X versão 10.2.8 veio com a versão bash 2.05a.0 (1) -release. Então eles estão usando o bash v2 por um tempo ...

Ah, e eu testei seu código de array no 10.3.9 e ele funcionou como esperado.

    
por 14.07.2011 / 02:47