Technicznie, tylko Przerwana rzecz to biała spacja. Nie należy umieszczać spacji wokół operatorów w składni powłoki:
config[$i]="value2"
Jednakże, istnieje wiele innych małych rzeczy, może warto pomyśleć. Na przykład, jeśli element config
może zawierać białą przestrzeń, test może się zepsuć. Użyj słowa kluczowego lub parametru testowego [[
, aby tego uniknąć.
… if [[ ${config[$i]} = "value1" ]]
then config[$i]="value2" …
seq
jest nietypowa wykonywalny zewnętrznych. Lepiej byłoby użyć wbudowanej składni iteracyjnej. Ponadto, zakładając, że dzieje się na iterację wszystkich elementów w config
, prawdopodobnie po prostu chcesz zrobić:
for ((i=0; i<${#config[@]}; i++));
do
if [[ ${config[$i]} = "value1" ]]
then config[$i]="value2"
fi
done