if [ Utv = "$ENV" ]
then for domain in 1 2 3
do for wls in stop clean cfi start
do wls wls"$wls" "$domain"
[ stop != "$wls" ] ||
remove "$domain"
done
done
fi
O campo in ...
é uma atribuição de matriz. Você atribui os iteradores do loop lá. Você pode usar uma matriz predefinida ou pode simplesmente criar uma em como eu faço aqui. Realmente não faz sentido se dar ao trabalho de atribuir alguma variável de shell com o único propósito de designar uma matriz de for
loop - é o dobro do trabalho e não é tão fácil de acompanhar. Essa é apenas minha opinião, claro.
De qualquer forma, o campo in ...
é realmente opcional, porque existe uma matriz predefinida que o loop for
utilizará como padrão - a matriz arg do shell. É por esse motivo que acredito que esse tipo de coisa faz mais sentido em uma função shell.
wls_lp(){
for wls in stop clean cfi start
do for domain
do set -x -- "-${-:--}" ${-:+"--"} "$@"
wls "wls$wls" "$domain"
[ stop != "$wls" ] ||
remove "$domain"
{ set +x "$@"; } 2>/dev/null
done;done
}
Se você colocar essa função em seu script, basta executar o loop inteiro em uma lista de domínios como:
if [ Utv = "$ENV" ]
then wls_lp domain1 domain2 domain3
fi