Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
840 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [ KSH - AIX ] Script à la C..

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ KSH - AIX ] Script à la C..

n°757099
heaven35
Posté le 29-11-2005 à 12:26:02  profilanswer
 

Bonjour,  
 
Je vous explique le script que je veux écrire.  
 
Je veux faire une recherche ( #find ) sur /home afin de savoir si ce répertoire a été modifié depuis 24H.  
J'envoie le résultat de cette recherche dans une fichier ( file ).  
Le contenu de mon fichier file resemble à :  
/home  
/home/test/  
/home/test/.profile  
Je regarde dans ce fichier si le mot /home est présent. ( avec une commande que minusplus m'avait fourni dans un autre sujet, merci à lui... )  
Si /home existe alors  
j'affiche "le répertoire a été modifié"  
autrement " Rien n'a été modifié"  
 
Voici ce que j'ai écrit :  
 
##################################"  
 
find /home -ctime 1 -print > file  
if [ MOT=$(perl -w -p -e '/(/hom\S+)/ and $_=$1;' file) ]  
then  
   if [ "$MOT" =  "/home" ]  
   then  
   echo " le repertoire a été modifié "  
   else  
   echo " rien n'a été modifié "  
   fi  
fi  
exit 0  
 
#########################  
 
Par contre ce script ne fonctionne pas car dans mon 1er if, le mot en rouge /hom est mal interprêté...  
Et je ne suis pas sur que mon 2ieme if soit correct.  
 
Mais peut être que je m'y prends mal aussi pour chercher /home dans mon file....  
 
quelqu'un pour m'aider??  
Merci  

mood
Publicité
Posté le 29-11-2005 à 12:26:02  profilanswer
 

n°757104
Profil sup​primé
Posté le 29-11-2005 à 12:37:25  answer
 

peut etre avec un \/hom

n°757109
minusplus
Posté le 29-11-2005 à 13:16:50  profilanswer
 

je ferais plus simple :
 
if [ -z $(find /home -ctime 1 -print -quit) ]  
then
  echo "not modified"
else
  echo modified
fi

n°757120
heaven35
Posté le 29-11-2005 à 13:52:27  profilanswer
 

J'ai un souci quand je l'execute...
il me dit de spécifier un paramètre avec cette commande...
 
Par contre miniplus, le -z signifie : si le résultat n'est pas nul, non??
On joue alors avec la valeur de retour qui sera 0 ou 1 et non le mot /home??

n°757122
Profil sup​primé
Posté le 29-11-2005 à 13:55:52  answer
 

oui, mais on fait le find que dans /home... donc, de toute maniere, si il ya des resultats, c'est que ca a été modifié

n°757123
minusplus
Posté le 29-11-2005 à 13:56:38  profilanswer
 

heaven35 a écrit :

J'ai un souci quand je l'execute...
il me dit de spécifier un paramètre avec cette commande...

là j'ai pas compris ! :D

heaven35 a écrit :


Par contre miniplus, le -z signifie : si le résultat n'est pas nul, non??
On joue alors avec la valeur de retour qui sera 0 ou 1 et non le mot /home??


non -z teste si la chaine qu'on lui donne est vide ou pas. N'oubliez pas que ce qui se trouve entre $(...) est remplacé par ce qu'affiche la comande, on ne s'occupe donc pas du code retour de find...

n°757124
heaven35
Posté le 29-11-2005 à 14:02:27  profilanswer
 

ok pour le -z, je comprends mieux!!!
 
Pour ce qui est de l'execution de mon script, j'ai le message suivant :  
 
find : 0652-017 -quit est une option incorrecte.
test.sh[6]: test: 0403-004 Spécifiez un paramètre avec cette commande.

n°757125
asmodaiii
Posté le 29-11-2005 à 14:02:48  profilanswer
 

[quotemsg=757123,6,33451N'oubliez pas que ce qui se trouve entre $(...) est remplacé par ce qu'affiche la comande, on ne s'occupe donc pas du code retour de find...[/quotemsg]
 
D'ailleurs ca marche aussi avec: if [ -z `commande` ]...


---------------
v(^o^)v
n°757127
minusplus
Posté le 29-11-2005 à 14:08:51  profilanswer
 

heaven35 a écrit :

ok pour le -z, je comprends mieux!!!
 
Pour ce qui est de l'execution de mon script, j'ai le message suivant :  
 
find : 0652-017 -quit est une option incorrecte.
test.sh[6]: test: 0403-004 Spécifiez un paramètre avec cette commande.


ben tu peux le virer mais ça va prendre plus de temps... :/
 
regarde dans le man find si y'a pas un équivalent, j'ai pas de AIX sous la main... :o

n°757130
heaven35
Posté le 29-11-2005 à 14:15:23  profilanswer
 

Bon bah j'ai testé tout cela sur un répertoire qui n'a pas été modifié depuis plus d'1 an...
Et mon script me dit que le répertoire a été modifié...
 
if [ -z 'find /testalb -ctime 1 -print' ]
then
echo " rien n'a été modifié"
else
echo " le repertoire a été modifié "
fi
exit 0

mood
Publicité
Posté le 29-11-2005 à 14:15:23  profilanswer
 

n°757134
minusplus
Posté le 29-11-2005 à 14:19:46  profilanswer
 

heaven35 a écrit :

Bon bah j'ai testé tout cela sur un répertoire qui n'a pas été modifié depuis plus d'1 an...
Et mon script me dit que le répertoire a été modifié...
 
if [ -z 'find /testalb -ctime 1 -print' ]
then
echo " rien n'a été modifié"
else
echo " le repertoire a été modifié "
fi
exit 0


heu non, pas des guillements, met la commande entre $(...)
 
 
(notez que c'est en partie pour ça que j'aime pas la notation backticks... :o)

n°757146
heaven35
Posté le 29-11-2005 à 15:23:24  profilanswer
 

bon je n'arrive pas à faire fonctionner mon script...
En plus je viens de m'appercevoir que ce que je cherche à faire n'est pas bon... ggggrrrrrrrrr find et l'argument -ctime ça joue sur la modification sur 24h... et ce n'est pas ce que je veux...je craque..2 jours dessus..
 
Quelqu'un aurait une idée ( script ou commande ) pour savoir si un répertoire a été modifié dans l'heure ou depuis la dernière modif???
 

n°757148
minusplus
Posté le 29-11-2005 à 15:27:05  profilanswer
 

find -cmin 60
 
 
:o

n°757151
heaven35
Posté le 29-11-2005 à 15:29:36  profilanswer
 

lol non -cmin ça n'existe pas
ça aurait été trop simple

n°757155
minusplus
Posté le 29-11-2005 à 15:32:26  profilanswer
 

ptain mais installe un find correct, spa possib ça ! :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [ KSH - AIX ] Script à la C..

 

Sujets relatifs
[ KSH - AIX ] Script à la C..recoder un script bash en ash
[KSH] Enterrer le résultat d'un commande[KSH-AIX] Script pour utiliser un mot dans un fichier
script pour changement de couleur[Résolu] [script shell AIX]
[KSH] Gargl, je sais plus ! Convertir une chaîne en entier et autre op 
Plus de sujets relatifs à : [ KSH - AIX ] Script à la C..


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR