Comando If [RESOLVIDO]

1. Comando If [RESOLVIDO]

Vinicius Ignacio
viniciusignacio

(usa Outra)

Enviado em 12/07/2016 - 10:12h

Bom Dia!

Sou iniciante na programação em shell script e estou com uma dúvida:
Se o arquivo existir no diretório, então ele copia, se não procura no backup e copia pro diretório.

if [ -f $l2/LOJA$loja/sigla/R$sigla$data* ]
then
cp $l2/LOJA$loja/sigla/R$sigla$data* /backup/disponibiliza/LOJA$loja
else
cp $b/??_??/LOJA$loja/R$sigla$data* /backup/disponibiliza/LOJA$loja
gzip -d /backup/disponibiliza/LOJA$loja/*
fi


O que há de errado no script, visto que ele vai direto para o "else".





  


2. MELHOR RESPOSTA

Fabiano
fpires

(usa Debian)

Enviado em 12/07/2016 - 12:09h

conectadohost escreveu:

olá,
esses dias precisei fazer um script que verificava se existia arquivos do tipo configuration.php no servidor
então utilizei o comando test acho que pode lhe ser útil o exemplo:



if test -f /home/usuario/public_html/configuration.php ; then
echo -e "tem arquivo configuration.php "
else
echo -e "não tem arquivo configuration.php"
fi




---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


os comandos test e [ ] são equivalentes em shell script.

Experimente colocar o comando "set -x" no começo da execução do script. Isso liga o "modo de debug" do shell, e facilita ver o que está acontecendo.


3. Re: Comando If [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 12/07/2016 - 10:52h

olá,
esses dias precisei fazer um script que verificava se existia arquivos do tipo configuration.php no servidor
então utilizei o comando test acho que pode lhe ser útil o exemplo:



if test -f /home/usuario/public_html/configuration.php ; then
echo -e "tem arquivo configuration.php "
else
echo -e "não tem arquivo configuration.php"
fi




---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


4. Re: Comando If

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 12/07/2016 - 11:44h

viniciusignacio escreveu:

Bom Dia!
Sou iniciante na programação em shell script e estou com uma dúvida:
Se o arquivo existir no diretório, então ele copia, se não procura no backup e copia pro diretório.

if [ -f $l2/LOJA$loja/sigla/R$sigla$data* ]
then
cp $l2/LOJA$loja/sigla/R$sigla$data* /backup/disponibiliza/LOJA$loja
else
cp $b/??_??/LOJA$loja/R$sigla$data* /backup/disponibiliza/LOJA$loja
gzip -d /backup/disponibiliza/LOJA$loja/*
fi


O que há de errado no script, visto que ele vai direto para o "else".


Bom dia, viniciusignacio.
É provável que tenha algum problema no caminho
$l2/LOJA$loja/sigla/R$sigla$data*
Coloque as variáveis entres aspas duplas.

VERIFICANDO SE O ARQUIVO EXISTE:
[ -e ARQUIVO.txt ] && echo "EXISTE" || echo "NÃO_EXISTE" 


att.:
marcelo oliver


5. Re: Comando If [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 12/07/2016 - 12:02h

Olá,
mais um exemplo que eu uso nos meus scripts que nunca falha talvez possa lhe ajudar.


VERIFICA=` ls /home/usuario | grep arquivo.gz | wc -l `


if [ "$VERIFICA" -gt "0" ];
then
echo -e " o arquivo existe "
else
echo -e "o arquivo não existe "
fi




---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts