Pular para o conteúdo

Comando If [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Comando If [RESOLVIDO]

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".



Responder tópico

2. Re: Comando If [RESOLVIDO]

Melhor resposta

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]

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

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]

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 <---

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder