Shell - test: fichier ou répertoire ?

Résolu
jax54000 Messages postés 44 Statut Membre -  
 Je pense donc je suis. -
Hello,

Un petit problème. Je souhaiterias tester si un chemin+fichier est un fichier ou un répertoire.
Effectivement le test -d permet de dire s'il s'agit d'un répertoire. Mais seulement un répertoire existant !!

Je voudrais savoir s'il s'agit d'un répertoire ou d'un fichier, qu'il existe ou non.........

Merciiiiiiiiiiiiiiiiiiiiiiii

A+
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Tu as un autre test pour l'existence.
    #!/bin/bash
    # script plop.sh
    
    if [ ! -e "$1" ]; then
    	echo "$1 n'existe pas"
    elif [ -f "$1" ]; then
    	echo "$1 est un fichier"
    elif [ -d "$1" ]; then
    	echo "$1 est un repertoire"
    fi

    Ce qui donne par exemple
    (mando@polgara) (~) $ ls -l
    total 20
    drwx------ 2 mando mando 4096 2007-03-24 12:49 Desktop
    -rw-r--r-- 1 mando mando 2351 2007-04-04 22:04 plop.cpp
    -rwxr-xr-x 1 mando mando  165 2007-04-04 22:45 plop.sh
    drwxr-xr-x 2 mando mando 4096 2007-03-24 13:09 themes
    (mando@polgara) (~) $ ./plop.sh plop.cpp
    plop.cpp est un fichier
    (mando@polgara) (~) $ ./plop.sh Desktop
    Desktop est un repertoire
    (mando@polgara) (~) $ ./plop.sh dieu
    dieu n'existe pas

    Bonne chance
    54
    1. ubuntu&co
       
      Super c'est ce que je cherchais merci !!

      Au passage : oui, forcément que "dieu" n'existe pas. C'est "Dieu" qui existe.
      1
    2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
       
      :-)
      0
    3. Albert
       
      Ou alors, dieu existe car justement Dieu n'existe pas...
      0
    4. Je pense donc je suis.
       
      Une chose est sure, Albert: tu es hors-sujet, et tu ne t'es pas auto-créé.
      0