Bash-array: Syntax-Fehler, Unerwartete

Schreibe ich dieses einfache bash-Skript wie folgt aus.

#!/bin/bash

array=( /home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf )
echo ${array[@]}

Ich erwartet, dass es zu drucken Sie alle Namen der Dateien in das array. Aber ich bekomme diese Fehlermeldung statt:

test.sh: 3: Syntax error: "(" unexpected

Wenn ich die Erklärung von array zu

array = {/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf}

dieser Fehler geht Weg, aber ich habe noch neue Fehler

test.sh: 3: array: not found
test.sh: 4: Bad substitution

Wie kann ich dieses Problem beheben? Dies ist mein erstes mal in der shell-Programmierung, so bin ich nicht in der Lage, um die Probleme zu beheben mich.

GELÖST:

Ich ausgeführt wurde es als sh test.sh aber ich vergaß, ich hatte, um ihn auszuführen, als bash test.sh

  • Das ist kein assoziatives array. Es ist eine normale, numerisch indiziertes array.
  • Oh, Ok. Ich werde es Bearbeiten
  • Die Lösung posten als Antwort und markieren Sie es akzeptiert, nicht Bearbeiten, es in der Frage. Auch, nicht Bearbeiten Sie den Titel, es zu lösen, die Webseite, markiert die Frage als gelöst, wenn Sie akzeptieren eine Antwort.
InformationsquelleAutor user1357576 | 2012-06-14
Schreibe einen Kommentar