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

  FORUM HardWare.fr
  Linux et OS Alternatifs

  Script sh : problème avec test

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script sh : problème avec test

n°767277
max-mag
Posté le 01-01-2006 à 20:05:54  profilanswer
 

Bonjour,
 
Je tente d'écrire un script sh me permettant de créer dans un répertoire copie, l'ensemble de la structure d'un répertoire modèle sous forme de lien symbolique. J'ai donc écrit cela :
 
#!/bin/bash
#Script de création récursive de liens symboliques
 
for FICHIER in `ls /home/web/modele`
do
  echo $FICHIER
 
  if test -d ${FICHIER}
  then
    mkdir $FICHIER
  fi
 
  if test -f ${FICHIER}
  then
   ln -s /home/web/modele/$FICHIER $FICHIER
  fi
 
done

 
 
Mais cela ne fonctionne pas car test -d ou test -f ne reconnaissent ni les fichiers ni les répertoires.
Comment faire ?
 
Merci de votre aide

mood
Publicité
Posté le 01-01-2006 à 20:05:54  profilanswer
 

n°767286
Sebou77
French Tech powaa :-)
Posté le 01-01-2006 à 20:36:46  profilanswer
 

bah normalement avec -d ça devrait passé pour les dossiers
Et avec -e t'as essayé ? Mais là c'est juste pour savoir s'il existe, tu veux peut être être plus précis nan ?

n°767291
max-mag
Posté le 01-01-2006 à 20:56:43  profilanswer
 

Je viens d'essayer avec -e, mais cela ne fonctionne pas non plus :-(
Effectivement, je veux faire la différence entre les dossiers et les fichiers.

n°767300
Pillow
'cos the trees won't talk
Posté le 01-01-2006 à 22:11:38  profilanswer
 

Heu, ce n'est pas la faute de "test" là :whistle:  
 
 
Imagine qu'il y n'a qu'un fichier toto dans /home/web/modele.
 
Tu éxecutes ton script dans /home/web/mon-nouveau-site.
 
Première itération de la boucle for : $FICHIER vaut "toto".
 
 
 
Tu testes s'il y a un dossier "toto" dans /home/web/mon-nouveau-site. Si oui, tu essayes de créer un dossier "toto" dans /home/web/mon-nouveau-site [:ciler]
 
 
Ensuite tu testes s'il y a un fichier "toto" dans /home/web/mon-nouveau-site. Si oui, tu essayes de créer un fichier "toto" dans /home/web/mon-nouveau-site [:ciler]
 
 
(je tiens à remercier publiquement l'inventeur du copié/collé : Merci :jap: )
 
 
 
Bref, ce que tu veux faire en fait, c'est tester si le fichier "toto" est un dossier dans /home/web/modele et non pas dans le dossier courant. Au passage, je te suggère d'utiliser une variable pour stocker /home/web/modele, plutôt que de de le mettre en dur comme ça.
 
 
Méfie toi des espaces aussi, dans l'état de ton script les fichiers qui en comportent dans leur nom ne seront pas gérés correctement.


Message édité par Pillow le 01-01-2006 à 22:12:10
n°767603
max-mag
Posté le 03-01-2006 à 11:43:13  profilanswer
 

merci de ton aide, c'était ça.


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

  Script sh : problème avec test

 

Sujets relatifs
Probléme d'accés à samba depuis un pocket pc 2003sendmail probleme insolube
Problème étrange après ajout de disque dur[Debian]Problème de lecture d'un disque dur externe
probleme avec movie maker (windows xp)problème Rythmnbox: device "/dev/dsp" already in use
Script de notationProblème de perspective avec Eclipse
Problème installation wifi freebox 
Plus de sujets relatifs à : Script sh : problème avec test


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