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

595
Vlueboy

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

Welche Bash-Versionsnummer wurde mit dieser Originalversion geliefert? 10.4.11 zeigt mir mehr oder weniger2.05b.0(1)-release, copyright 2002.

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

Jemand hier wird es wahrscheinlich in eine virtuelle Maschine oder etwas anderes werfen. Es muss nicht exakt 10.4.0 sein, aber näher ist besser. Ich kann nicht erkennen, ob die Dokumentation von Apple korrekt ist, aber sie hat die genaue Versionsnummer in den Online-Handbuchseiten :)

0

2 Antworten auf die Frage

2
Gordon Davisson

Ich habe kein 10.4.0-System zur Hand; wirst du mit 10.3.9 zufrieden sein? Es kam mit der bash-Version 2.05b.0 (1) -freigabe. Ich denke, Sie sind sicher.

Edit: Ich habe einige meiner alten Notizen gefunden und wenn sie korrekt sind, wurde OS X Version 10.2.8 mit der bash-Version 2.05a.0 (1) -release geliefert. Also haben sie bash v2 schon eine Weile benutzt ...

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

2
Chris Johnsen

Unter www.opensource.apple.com können Sie die Open Source-Komponenten überprüfen, die in den verschiedenen Versionen von Mac OS X verwendet werden.

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

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

Die Codedifferenzen zwischen Apples bash-44.2 und -44.5 sind sehr gering: Sie wurden volatilezu einer Variablen hinzugefügt und die SIGWINCH-Behandlung etwas geändert.

Weiter hinten enthielt 10,2 (.0) "bash-23"; ÄNDERUNGEN sagen, es ist 2.05a.

Bash wird nicht als Komponente von 10.1 oder 10.0 aufgeführt .

Es sieht so aus, als ob (laut NEWS ) Arrays als neues Feature in bash-2.0 eingeführt wurden. Es sieht also so aus, als wären Sie mindestens mit Mac OS X 10.2 sicher.

+1. Sehr nützliche Informationen für jetzt und für mich, um Darwin später anzusehen. Vielen Dank Vlueboy vor 12 Jahren 0