Spodziewałem się
excludes="${excludes:-( ${default_excludes[@]} )}"
być tablicą, jeśli $excludes
jest pusta. Niestety, rzeczy później :-
są traktowane jako ciąg znaków. Czy tęskniłem za zniekształceniem składni, czy też muszę używać niezgrabnego
if [ -z "${excludes:-}" ]
then
excludes=( "${default_excludes[@]}" )
fi
?
Ponieważ miałem przypadki, w których mój
arr2
może być pusty, ale ustawiony, nie mogłem znaleźć prostego rozwiązania. Musiałem więc użyć funkcji i globalnej zmiennej temp. Ale działa w każdym przypadku oraz w bash 3.2 i bash 4Używam pośredniego odwołania do tablicy, aby skopiować wartości
TEMP_VAR
, ale nie mogłem znaleźć pośredniego przypisania tablicy w bash, stąd dwie linie i zmienna tempDla was,
set -eu
fanów tamźródło