Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/10/2007, 12h08   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 2
Points : 0
Points : 0
Par défaut Detecter le dernier repertoire créé

Bonjour, je voudrais un script qui me permette de surveiller en continu un repertoire donné en argument et qui detecte des qu'un nouveau repertoire apparait dedans. Je veux juste avoir le nom du dernier repertoire apparu: La commande ls -ltr $REP |tail -1 me le donne mais comment faire des verifications regulieres et verifier si un nouveau repertoire est apparu de maniere automatique?
merci d'avance
fablaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 14h02   #2
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
Ceci te convient-il ?
Citation:
watch -n1 "ls -ltr $REP | tail -l"
ou as-tu besoin de faire une action à chaque nouveau répertoire ?
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 14h39   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 2
Points : 0
Points : 0
la commande watch n'est pas reconnue...
j'avais l'idee d'utiliser un test ms la syntaxe semble fausse:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash
# Definit le repertoire a tester
REP=$1
#Recupere le dernier repertoire créé.
old=`ls -ltr $REP |tail -1`
echo $old
 
while [ 1 ]; 
do
	new=`ls -ltr $REP |tail -1`
	echo $new
	if  test $new -ne $old    # !!! ne fonctionne pas
	then
	        	old=`ls -ltr $REP |tail -1`
		echo "nouveau repertoire apparu: $old"
	else
 
		echo "pas de nouveau repertoire"	
	fi
 
	# temps entre chaque verification de presence de fichier dans le repertoire
    	sleep 2
done

Une correction à apporter?
Merci beaucoup
fablaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2007, 15h17   #4
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 499
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 499
Points : 9 676
Points : 9 676
Bonjour,

Dans un test, "-ne" vérifie que la valeur numérique de gauche est différente de la valeur numérique de droite.

Or ici, tu compares des chaînes de caractères, et pas des valeurs numériques, d'où ton soucis

Essayes avec :

__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h41.


 
 
 
 
Partenaires

Hébergement Web