Pole je sbírka prvků. V Bash může pole obsahovat mix prvků různých typů, např. Řetězce a čísla.
V tomto tutoriálu diskutujeme o tom, jak vytvořit a používat pole v Bash. Budeme také pokrývat operace pole, jako je opakování, tisk, získání velikosti a úprava obsahu.
Jak vytvářet pole v Bash
Existují dva způsoby, jak můžeme vytvořit pole Bash:
Použití klíčového slova deklarovat
declare -a my_bash_array
tím se vytvoří indexované pole s názvem „my_bash_array“.
Inicializace pole
Můžeme také vytvářet a inicializovat pole za běhu pomocí operátoru přiřazení =
a prvky uvnitř složených závorek ()
:
my_bash_array=("apple" "orange" "banana")
Nebo bychom mohli také specifikovat index explicitně
my_bash_array[0]="apple"
my_bash_array[1]="orange"
my_bash_array[2]="banana"
Poznámka:Na obou stranách = by neměly být žádné mezery operátor. Délka pole Bash
K získání délky nebo velikosti pole používáme ${#array_name[@]}
.
Například:
my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"
#Output
the array contains 3 elements
Smyčka pole Bash
K iteraci všech prvků v poli Bash můžeme použít cyklus for:
#!/bin/bash
my_array=(foo bar baz)
# for loop that iterates over each element
for i in "${my_array[@]}"
do
echo $i
done
Výstup:
foo
bar
baz
Tisk všech prvků
Chcete-li vytisknout všechny prvky pole bez smyčky, můžeme použít následující syntaxi:
echo ${my_array[@]}
Přidání prvků do pole
Pro přidání prvků do pole používáme +=
operátor. Tím připojíte prvek na konec pole.
Například:
my_array=(foo bar)
my_array+=(baz)
echo "${my_array[@]}"
foo bar baz
Nebo můžeme použít index k přidání prvku:
my_array=(foo bar)
my_array[2]=baz
echo "${my_array[@]}"
foo bar baz
Odstranit prvky z pole
Chcete-li odstranit prvek z pole Bash, použijeme unset
příkaz.
Například:
my_array=(foo bar baz)
unset my_array[1]
echo ${my_array[@]}
foo baz
Závěr
V tomto tutoriálu jsme probrali pole Bash; jak vytvořit a inicializovat pole v Bash a jak získat délku, opakovat prvky, tisknout prvky a upravovat obsah pole.