Что заставляет вас думать, что в массиве есть пустой элемент?
% mksh $ read -A arr <<< "$broda $brode $brodi mlatu" $ print -l $arr mlatu $
это с mksh R56c
; arr
содержит один элемент, поэтому ${#arr[*]}
возвращает количество 1
...
У меня есть следующий скрипт ksh, где $ an_unset_var - неустановленная переменная, которая используется впервые:
read -A arr <<< "$an_unset var" echo ${#an_unset_var} echo ${#arr[*]}
Выполняя который, я получаю следующий вывод:
0 1
Почему при чтении неустановленной переменной в массив с помощью команды чтения в массиве появляется пустой элемент? Почему этот пустой элемент считается допустимым счетным элементом массива?
Важное редактирование:
Отсутствует подчеркивание в первой строке сценария.
read -A arr <<< "$an_unset_var"
$ an_unset_var является переменной.
Что заставляет вас думать, что в массиве есть пустой элемент?
% mksh $ read -A arr <<< "$broda $brode $brodi mlatu" $ print -l $arr mlatu $
это с mksh R56c
; arr
содержит один элемент, поэтому ${#arr[*]}
возвращает количество 1
...