Ich schreibe dieses einfache Bash-Skript wie folgt.Bash-Array: Unerwarteter Syntaxfehler
#!/bin/bash
array=(/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf)
echo ${array[@]}
Ich erwartete, dass es alle Namen der Dateien im Array drucken. Aber ich habe diesen Fehler statt:
test.sh: 3: Syntax error: "(" unexpected
Wenn ich die Erklärung des Arrays ändern
array = {/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf}
dieser Fehler geht weg, aber ich habe immer noch neue Fehler
test.sh: 3: array: not found
test.sh: 4: Bad substitution
Wie kann ich lösen dieses Problem? Dies ist mein erstes Mal in der Shell-Programmierung, so dass ich die Probleme nicht selbst beheben kann.
BESCHLOSSEN:
Ich war es, als sh test.sh Ausführung aber ich vergaß ich es als bash test.sh
Das ist kein assoziatives Array. Es ist ein normales, numerisch indexiertes Array. –
@DennisWilliamson Oh Ok. Ich werde es bearbeiten – user1357576
@ user1357576: Post die Lösung als Antwort und markieren Sie es akzeptiert, bearbeiten Sie es nicht in der Frage. Bearbeiten Sie den Titel auch nicht, um ihn zu lösen. Die Website markiert die Frage als gelöst, wenn Sie eine Antwort akzeptieren. – Daenyth