Rechercher : dans
Par :

[C-Shell] Lien symbolique

Dernière réponse le 22 mai 2007 à 22:17:40 xavdoug, le 13 mai 2007 à 01:06:24 
 Signaler ce message aux modérateurs

Bonjour à tous,

Je travaille actuellement en c-shell et j'aimerais autant que possible ne pas avoir à en changer.
Je cherche à tester si un répertoire est un lien symbolique.
Je sais qu'en shell, il y a les commandes :

if [-h logdir] then ...
if [-L logdir] then ...


mais malheureusement, aucune ne fonctionne avec mon script.

Auriez-vous une idée ? Merci
Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « [C Shell] Lien symbolique » dans :
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
Linux - Gentoo - Mise à jour de noyau VoirIntroduction Pourquoi mettre à jour le noyau Utilisation de Portage pour obtenir les nouvelles sources Mise à jour du lien symbolique /usr/src/linux Configuration, compilation et installation du nouveau noyau Installation automatique via...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...
UNIX - Les fichiers VoirIntroduction aux fichiers Unix Sous les systèmes UNIX tout élément est représenté sous forme de fichier. L'ensemble des fichiers est architecturé autour d'une unique arborescence dont la base, appelée racine, est notée «/». Types de...
Langage C - Les opérateurs VoirQu'est-ce qu'un opérateur ? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, etc. On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs...

1

lami20j, le 13 mai 2007 à 09:33:34

Salut,

avec l'option -l de ls on peut savoir si un fichier est un lien symbolique, le 1er caractère désignant le type de fichier

> if ( ! -z `ls -l trash2 | grep -o '^l'`) echo trash2 lien symbolique
trash2 lien symbolique
ou
> if ( ! -z `readlink trash2` ) echo trash2 lien symbolique
trash2 lien symbolique

lami20j

Répondre à lami20j

2

jipicy, le 13 mai 2007 à 10:07:11

Salut,

Une autre solution :

#! /bin/csh

file "$1" | grep -o "link"
@ retval = $?
if ( $retval == 0 ) then
echo "$1 est un lien symbolique"
endif
Lami20 => Ta solution avec "if ( ! -z `readlink trash2` ) echo trash2 lien symbolique" marche pô ;-((
[yogi@MDK ~/trash]$ ls -l
total 8
-rwxr-xr-x  1 yogi yogi 119 mai 13 10:00 bar
-rwxr-xr-x  1 yogi yogi 115 mai 13 09:58 bar~
lrwxrwxrwx  1 yogi yogi   4 mai 13 09:22 bla -> rep/
-rw-r--r--  1 yogi yogi   0 mai 13 09:11 file
lrwxrwxrwx  1 yogi yogi   4 mai 13 09:11 foo -> file
drwxr-xr-x  2 yogi yogi  40 mai 13 09:21 rep

[yogi@MDK ~/trash]$ if ( ! -z `readlink bla` ) echo lien symbolique
lien symbolique # vrai

[yogi@MDK ~/trash]$ if ( ! -z `readlink ccm` ) echo lien symbolique
lien symbolique # faux

[yogi@MDK ~/trash]$ if ( ! -z `readlink blabla` ) echo lien symbolique
lien symbolique # faux

[yogi@MDK ~/trash]$
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

3

lami20j, le 13 mai 2007 à 10:17:50

Salut,

Lami20 => Ta solution avec "if ( ! -z `readlink trash2` ) echo trash2 lien symbolique" marche pô ;-((

alors comme ça

debian:/home/lami20j> if ( `readlink trash2` != "" ) echo lien symbolique
lien symbolique
debian:/home/lami20j> if ( `readlink ccm` != "" ) echo lien symbolique
debian:/home/lami20j> if ( `readlink blabla` != "" ) echo lien symbolique
debian:/home/lami20j> 
Pourquoi yogi?! [yogi@MDK ~/trash]$ lami20j

Répondre à lami20j

4

jipicy, le 13 mai 2007 à 10:39:11

Pourquoi yogi?
On avait fait des tests un jour ensemble et j'avais créé cet utilisateur et depuis il est resté et je m'en sers justement pour des tests avec d'autres shells ;-))
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

5

lami20j, le 13 mai 2007 à 11:09:37

En fait c'est bizarre puisque moi j'ai choisi ce nom pour guide d utilisation du shell pour debutant
puisque j'ai pensé à la mascotte ccm et yogi lami20j

Répondre à lami20j

6

 xavdoug, le 22 mai 2007 à 22:17:40

Merci pour vos solutions. Encore un problème résolu !

Répondre à xavdoug