Array-Unterstützung für die ursprüngliche Bash in MacOS 10.4.0?

0

Ich schreibe ein Bash-Skript mit einfachen Array-Operationen wie: testarray=("First Name" "Second Name" "Third Name") ; for i in "${testarray[@]}" ; do echo "$i" ; done

Welche Bash-Versionsnummer wurde mit dieser ursprünglichen Version geliefert? 10.4.11 zeigt mir mehr oder weniger 2.05b.0(1)-release, copyright 2002.

Ich habe es auf meinem MacOS 10.4.11 getestet und seitdem ich die Version 2.05b gesehen habe, bin ich ein bisschen ausgeflippt, da es selbst für 10.4.11 sehr alt ist ... 10.4.0 ist wahrscheinlich unter 2.0. Ist mein Skript abwärtskompatibel mit 10.4.0?

Jemand hier wird es wahrscheinlich in eine virtuelle ppc-Maschine werfen oder so. Es muss nicht exakt 10.4.0 sein, aber näher ist besser. Ich kann nicht sagen, ob die Dokumentation von Apple korrekt ist, aber es hat die genaue Versionsnummer in der Online-Hilfeseiten :)

Vlueboy
quelle

Antworten:

2

Sie können sich beraten www.opensource.apple.com die in den verschiedenen Versionen von Mac OS X verwendeten Open Source-Komponenten zu untersuchen.

10,4 (.0) enthalten “bash-44.2”; Die Datei CHANGES gibt an, dass es sich um 2.05b handelt.

10.4.11 auf x86 und 10.4.11 auf PPC beide enthielten "bash-44.5"; ÄNDERUNGEN sagen, es ist 2.05b.

Die Codeunterschiede zwischen Apple bash-44.2 und -44.5 sind sehr gering: hinzugefügt volatile auf eine Variable und änderte das SIGWINCH-Handling ein wenig.

Weiter zurück, 10,2 (.0) enthalten "bash-23"; Laut CHANGES ist es 2.05a.

Bash ist nicht Bestandteil von 10.1 oder 10.0 .

Es sieht aus wie NACHRICHTEN ) Arrays wurden als neues Feature in bash-2.0 eingeführt, sodass Sie wahrscheinlich mindestens mit Mac OS X 10.2 arbeiten.

Chris Johnsen
quelle
+1. Sehr nützliche Informationen für den Moment und für mich, um Darwin später anzusehen. Vielen Dank
Vlueboy
2

Ich habe kein 10.4.0-System zur Hand. werden Sie sich mit 10.3.9 zufrieden geben? Es wurde mit der Bash-Version 2.05b.0 (1) ausgeliefert.

Bearbeiten: Ich habe einige meiner alten Notizen gefunden und wenn sie die richtige Version sind, wurde OS X Version 10.2.8 mit der Bash-Version 2.05a.0 (1) -release geliefert. Also haben sie Bash v2 für eine Weile verwendet ...

Oh, und ich habe Ihren Array-Code auf 10.3.9 getestet und es hat wie erwartet funktioniert.

Gordon Davisson
quelle