shellcheck
gerou o seguinte aviso
SC2155: Declare and assign separately to avoid masking return
values
Para esta linha de código
local key_value=$(echo "$current_line" | mawk '/.+=.+/ {print $1 }')
O que significa "mascarar valores de retorno" e como isso se relaciona ao aviso mencionado acima?
Quando você declara uma variável como um
local
ouexport
ed que por si só é um comando que retornará sucesso ou não.Portanto, se você quiser agir no valor de retorno do seu comando (
echo "$current_line" | mawk '/.+=.+/ {print $1 }'
), não poderá, pois sairá com 0 enquanto a declaração local for bem-sucedida (o que quase sempre será).Para evitar isso, sugere declarar separadamente e depois atribuir:
Esta é uma regra de verificação de shell que ignoro frequentemente e é seguro ignorar o IMO, desde que você saiba que não está tentando agir no valor de retorno dessa declaração de variável.
Você pode ignorá-lo adicionando o seguinte ao topo do seu script (abaixo do hashbang, é claro):