Deklarieren Sie nicht unter bash v4

536
FishStix

Ich versuche, die neue Array / Hash-Funktion in der Bash-Version 4 zu verwenden, aber wenn ich versuche, die Variable "zu deklarieren", erhalte ich eine Fehlermeldung.

$ bash --version GNU bash, version 4.4.0(1)-release (x86_64-apple-darwin15.6.0) Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>  This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.  $ declare -A hello -bash: declare: -A: invalid option declare: usage: declare [-afFirtx] [-p] [name[=value] ...]  $ declare ... rvm_warn () { if rvm_pretty_print stdout; then printf "%b" "$$*$\n" 1>&2; else printf "%b" "$*\n" 1>&2; fi } ... 

Wenn ich einfach "declare" eingebe, sieht es aus wie Ruby-Code. Ich füge einen sehr kleinen Ausschnitt hinzu, wenn ich einfach "declare" eingebe. Ich habe RVM installiert. Irgendwelche Ideen, warum ich "Deklarieren" nicht richtig verwenden kann?

0

1 Antwort auf die Frage

1
Ƭᴇcʜιᴇ007

Bei den Optionen wird zwischen Groß- und Kleinschreibung unterschieden und es -Aist keine gültige Option (wie in der Verwendungsliste dargestellt - [-afFirtx]).

Verwenden Sie -astattdessen.

Danke - nur zur Klarstellung - im Anschluss an dieses Tutorial: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/ Das Beispiel zeigt ein großgeschriebenes "A". Muss ein Tippfehler sein? FishStix vor 7 Jahren 0