Defina suas opções de aviso como uma matriz. "${warnings[@]}"
gera 3 palavras
warnings=(-Wall -Wextra -Wpedantic)
"${compiler}" "${warnings[@]}" "${standard}" -o "${1}" "${1}.cpp"
Ou, se você achar mais legível, poderá criar a matriz sem -W
e, em seguida, adicionar -W
através de como você apresenta a matriz na linha de comando.
warnings=( all extra pedantic )
"${compiler}" "${warnings[@]/#/-W}" "${standard}" -o "${1}" "${1}.cpp"