Специфичные особенности удаления элементов массивов в Bash |
[исправить] |
В руководствах Bash упоминается, что команда "unset name[N]" выполняет удаление
элемента массива, например:
https://www.gnu.org/software/bash/manual/html_node/Arrays.html#Arrays
The unset builtin is used to destroy arrays.
unset name[subscript] destroys the array element at index subscript.
https://tldp.org/LDP/abs/html/arrays.html
unset colors[1] # Remove 2nd element of array.
https://www.opennet.ru/docs/RUS/bash_scripting_guide/c12790.html
unset colors[1] # Удаление 2-го элемента массива.
Данное описание не соответствует действительности, так как элемент массива для
корректного удаления необходимо заключить в кавычки '..'
Для конкретного примера:
unset 'colors[1]'
Если не использовать кавычки, то bash попытается сделать расширение имени и
заменит "unset colors[1]" на "unset colors1". Проверить это можно выполнив:
> touch colors1
> bash example_25_3.sh
|
|
|
|
Раздел: Корень / Программисту и web-разработчику / Shell / Готовые скрипты |