Warum denken Sie, dass das Array ein leeres Element enthält?
% mksh $ read -A arr <<< "$broda $brode $brodi mlatu" $ print -l $arr mlatu $
das ist mit mksh R56c
; arr
enthält ein einzelnes Element, weshalb ${#arr[*]}
eine Anzahl von 1
...
Ich habe das folgende ksh-Skript, wobei $ an_unset_var eine unset-Variable ist, die zum ersten Mal verwendet wird:
read -A arr <<< "$an_unset var" echo ${#an_unset_var} echo ${#arr[*]}
Bei der Ausführung erhalte ich folgende Ausgabe:
0 1
Warum wird beim Lesen einer nicht gesetzten Variablen in ein Array mit dem Befehl read ein leeres Element in das Array eingegeben? Warum wird dieses leere Element als gültiges abzählbares Element des Arrays betrachtet?
Wichtige Bearbeitung:
Fehlender Unterstrich in der ersten Zeile des Skripts.
read -A arr <<< "$an_unset_var"
$ an_unset_var ist die Variable.
Warum denken Sie, dass das Array ein leeres Element enthält?
% mksh $ read -A arr <<< "$broda $brode $brodi mlatu" $ print -l $arr mlatu $
das ist mit mksh R56c
; arr
enthält ein einzelnes Element, weshalb ${#arr[*]}
eine Anzahl von 1
...