Script simples

1. Script simples

Rafael Corredor
rafaelcorredor

(usa Outra)

Enviado em 02/12/2011 - 10:20h

Bom dia galera,

Eu não manjo quase nada de scripts... e preciso fazer um script que dentro de um diretorio, verifique se existe um arquivo chamado:

nomedoarquivo.anomesdia

e se existir, rodar um outro comando.

Deve ser a coisa mais simples do mundo, mas estou com muitas dificuldades...

Eu declarei a variavel:


YEAR= `date | awk '{print $6}'`

Mas quando tento rodar, apresenta este erro:

$ ksh test.sh
User is authorized to run script
2011: test.sh 16: not found
YEAR: not found
ARLHOSP..10.19: No such file or directory
test.sh 25: syntax error: got fi, expecting Newline
$

Segue meu script completo:

#!/bin/ksh

# Determine current user
user=`whoami`
case "$user" in
"VHC\santymic"|"VHC\lawson"|"VHC\sdaniels"|"VHC\mfales"|"VHC\root"|"VHC\SUWalker"|"VHC\gburns") echo "User is authorized to run script"
;;
*) echo "Unauthorized... exiting"
exit
;;
esac


cd D:/LAWTEST/law/testhr/work/VH102

YEAR= `date | awk '{print $6}'`
MONTH= 10
DAY=19



cnvimp ARLHOSP.$(YEAR).$(MONTH).$(DAY) 1666 > TESTE222



fi



Obrigado !


  


2. Re: Script simples

Diego Maciel Gomes
dimago

(usa Red Hat)

Enviado em 02/12/2011 - 10:31h

Oi rafael, cara eu faço assim..

#!/bin/bash

[ -e /diretorio/arquivo.txt ] && rm -rf arquivo.txt

# Fim do script

Voce pode rodar isso via linha de comando

e pode ainda trabalhar com o arquivo.txt colocando ele como $1 - ai quando vc chama o script passa o parametro 1 e ele roda

Vlw


3. Re: Script simples

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 02/12/2011 - 10:37h

sobre a questão da variável YEAR o coreto seria


YEAR=$( date | awk '{ print $6 }')
echo $YEAR

atualmente você esta tentando executar o valor 2011


-para exibir o codigo desa forma basta usar a tag code, retire os * do exemplo:

[*code*]
#!/bin/bash
...
[*/code*]


4. Re: Script simples

Rafael Corredor
rafaelcorredor

(usa Outra)

Enviado em 02/12/2011 - 10:41h

Muito obrigado pela rapida resposta.

O problema é que diariamente será criado um arquivo novo com a data atual.

Minha duvida é:

Como eu posso pesquisar dentro de um diretorio um arquivo que no proprio nome contem a data atual?

Ex:

Hoje, dia 02/12/2011

O arquivo sera chamado:

nomearquivo.20111202

Como eu posso declarar 3 variasveis (ano, mes e dia) e usar o comando arquivo.variavel1variavel2variavel3 corretamente...

Desculpe se minha duvida possa ser tao [*****]...

Vlw!


5. Re: Script simples

Diego Maciel Gomes
dimago

(usa Red Hat)

Enviado em 02/12/2011 - 10:47h


#!/bin/bash

data_atual=`date +%Y%m%d`
arquivo=/diretorio/arquivo.${data_atual}

[ -e $arquivo ] && rm -rf $arquivo




6. Obrigado

Rafael Corredor
rafaelcorredor

(usa Outra)

Enviado em 02/12/2011 - 11:10h

A parte da variavel foi resolvido.

Meu script ficou assim:




#!/bin/ksh

# Determine current user
user=`whoami`
case "$user" in
"VHC\santymic"|"VHC\lawson"|"VHC\sdaniels"|"VHC\mfales"|"VHC\root"|"VHC\SUWalker"|"VHC\gburns") echo "User is authorized to run script"
;;
*) echo "Unauthorized... exiting"
exit
;;
esac


cd "D:/LAWTEST/law/testhr/work/VH102"

da=`date +%Y%m%d`
ARLHOSP=/D:/LAWTEST/law/testhr/work/VH102/ARLHOSP.${da}
[ -e $ARLHOSP ] && rm -rf $ARLHOSP





cnvimp ARLHOSP.$(da) 1666 > TESTE222



fi



Mas ainda recebo este erro:


$ ksh test.sh
User is authorized to run script
da: not found
ARLHOSP.: No such file or directory
test.sh 30: syntax error: got fi, expecting Newline
$

Obg!!!



7. Re: Script simples

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/12/2011 - 11:17h

dúvida?

existe esse caminho de diretório ai, D: ?

/D:/LAWTEST/law/testhr/work/VH102/ARLHOSP.${da}


8. ???

Rafael Corredor
rafaelcorredor

(usa Outra)

Enviado em 02/12/2011 - 11:24h

Cara, acho que este comando

[ -e $ARLHOSP ] && rm -rf $ARLHOSP

Apagou tudo que estava dentro de:

D:/LAWTEST/law/testhr/work/VH102

Como reverto ?

Nem pra lixeira eles foram...




9. Re: Script simples

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/12/2011 - 11:31h

PQP!!!! porque rodar qqer MER*A sem conferir o que faz na cegueira????


agora baixe o testdisk / photorec e tente reverter o problema...

abraço


10. Re: Script simples

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/12/2011 - 11:32h

pior que apagou mesmo, se vc tinha poderes para modificar arquivo nesse caminho,

o comando rm -rf ... fez o que foi solicitado, apagou tudo.

Agora vc pode tentar usar algum programa de recuperação de arquivos, como esse aqui:

http://www.vivaolinux.com.br/artigo/Recuperacao-de-Dados-com-o-PhotoRec

Boa sorte, nunca conseguir recuperar tudo assim

abraços


11. ...

Rafael Corredor
rafaelcorredor

(usa Outra)

Enviado em 02/12/2011 - 11:38h

No caso, estou em um servidor windows server 2003

to googlando aqui...

vlw!


12. consegui!

Rafael Corredor
rafaelcorredor

(usa Outra)

Enviado em 02/12/2011 - 12:05h

Recuperei meus arquivos...

E fiz um backup do diretorio !!!

Alguem pode me ajudar com relacao ao script msm ???




#!/bin/ksh

# Determine current user
user=`whoami`
case "$user" in
"VHC\santymic"|"VHC\lawson"|"VHC\sdaniels"|"VHC\mfales"|"VHC\root"|"VHC\SUWalker"|"VHC\gburns") echo "User is authorized to run script"
;;
*) echo "Unauthorized... exiting"
exit
;;
esac


cd "D:/LAWTEST/law/testhr/work/VH102"

da=`date +%Y%m%d`
ARLHOSP=D:/LAWTEST/law/testhr/work/VH102

cnvimp ARLHOSP.$(da) 1666 > TESTE222

fi


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Só para eu entender...

Esta linha:

ARLHOSP=D:/LAWTEST/law/testhr/work/VH102

Pra que serve exatamente?

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Resultado do meu script:
$ ksh test.sh
User is authorized to run script
da: not found
ARLHOSP.: No such file or directory
test.sh 30: syntax error: got fi, expecting Newline
$

Obrigado novamente !!!







01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts