Alternativa para elif

1. Alternativa para elif

Alex Machado Fontinelli
Pinguino

(usa Debian)

Enviado em 30/09/2020 - 12:55h

Qual alternativa posso usar para o elif??? eu criei uma função para verificar diretórios e arquivos porem achei que ficou muito grande, como posso minimizar???


_CHECK(){
if [[ ! -d "${DIR1}" ]]; then
echo "$DIR1 NÃO EXISTE."
exit 1
elif [[ ! -d "${DIR2}" ]]; then
echo "$DIR2 NÃO EXISTE."
exit 1
elif [[ ! -d "${DIR3}" ]]; then
echo "$DIR3 NÃO EXISTE."
exit 1
elif [[ ! -d "${DIR4}" ]]; then
echo "$DIR4 NÃO EXISTE."
exit 1
elif [[ ! -d "${DIR5}" ]]; then
echo "${DIR5} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE6}" ]]; then
echo "${FILE6} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE7}" ]]; then
echo "${FILE7} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE8}" ]]; then
echo "${FILE8} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE9}" ]]; then
echo "${FILE9} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE10}" ]]; then
echo "${FILE10} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE11}" ]]; then
echo "${FILE11} NÃO EXISTE."
exit 1
fi



  


2. Re: Alternativa para elif

Ruan
ruankl

(usa Nenhuma)

Enviado em 30/09/2020 - 13:02h

pq não usa estrutura de repetição (for/while/until)?


3. Re: Alternativa para elif

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 30/09/2020 - 15:13h

Pinguino escreveu:

Qual alternativa posso usar para o elif??? eu criei uma função para verificar diretórios e arquivos porem achei que ficou muito grande, como posso minimizar???


_CHECK(){
if [[ ! -d "${DIR1}" ]]; then
echo "$DIR1 NÃO EXISTE."
exit 1
elif [[ ! -d "${DIR2}" ]]; then
echo "$DIR2 NÃO EXISTE."
exit 1
elif [[ ! -d "${DIR3}" ]]; then
echo "$DIR3 NÃO EXISTE."
exit 1
elif [[ ! -d "${DIR4}" ]]; then
echo "$DIR4 NÃO EXISTE."
exit 1
elif [[ ! -d "${DIR5}" ]]; then
echo "${DIR5} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE6}" ]]; then
echo "${FILE6} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE7}" ]]; then
echo "${FILE7} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE8}" ]]; then
echo "${FILE8} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE9}" ]]; then
echo "${FILE9} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE10}" ]]; then
echo "${FILE10} NÃO EXISTE."
exit 1
elif [[ ! -e "${FILE11}" ]]; then
echo "${FILE11} NÃO EXISTE."
exit 1
fi

Boa tarde Pinguino.
A ideia é testar de DIR1 a DIR5 e de FILE6 a FILE11?
Enfim, testar todos arquivos e diretórios?
Pois, da forma que está, se DIR1 não existir, os demais não serão testados....
Independentemente de vc ter colocado o exit 1,
mesmo sem o exit, o if é interrompido.....,
visto que a condição foi satisfeita.
Sugestões:
#TESTATUDO
for DirFiles in ${DIR1} ${DIR2} ${DIR3} ${DIR4} ${DIR5} ${FILE6} ${FILE7} ${FILE8} ${FILE9} ${FILE10} ${FILE11};do
[ ! -e "${DirFiles}" ] && echo "${DirFiles} NÃO EXISTE."
done

#PARA após o 1ª que NãO EXISTIR
for DirFiles in ${DIR1} ${DIR2} ${DIR3} ${DIR4} ${DIR5} ${FILE6} ${FILE7} ${FILE8} ${FILE9} ${FILE10} ${FILE11};do
[ ! -e "${DirFiles}" ] && { echo "DirFiles NÃO EXISTE.";break;}
done
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


4. Re: Alternativa para elif

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 30/09/2020 - 17:26h

Use a cláusula case. Digite man bash na linha de comando p ver um tutorial.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts