si le fichier est un lien sur le système d'exploitation LINUX
Je suis en train de vérifier si un lien symbolique existe à partir d'un KornShell (ksh) script à l'aide de "-h nom de fichier de la commande". Cela fonctionne bien sur les boîtes.
Pas sûr de ce qui est la bonne option pour Linux, AIX et Solaris zones.
Toute réflexion sur cette question?
OriginalL'auteur kadeshpa | 2009-04-01
Vous devez vous connecter pour publier un commentaire.
-h
fait partie de la POSIX spec; il devrait fonctionner partout où c'est très raisonnable.Selon
man test
sur Mac OS X:-L
est également standardisé, donc si vous trouvez n'importe où que-h
ne fonctionne pas, vous devriez essayer-L
à la place.-L
existe dans la POSIX spec ainsi, ne devrions-nous pas recommander l'utilisation d'-L
selon les notes dans votre page de manuel?OriginalL'auteur Brian Campbell
C'est -h sur les systèmes linux aussi, au moins (bash est mon shell):
Vérifier
man test
pour voir la disposition des opérateurs disponibles pour une utilisation sur les fichiers et les chaînes de caractères dans votre nécessitant.OriginalL'auteur whaley
La meilleure réponse est d'essayer quel que soit le "test" de la page de manuel dit sur votre système. Si cela semble fonctionner, cherchez pas plus loin. Cependant, si cela ne semble pas fonctionner, ou si vous avez des questions à propos de les plus obscures options de test, alors vous devriez également vérifier la page de man pour votre shell pour voir si 'expr' ou '[' sont built-ins. Dans ce cas, le shell peut être à l'aide d'une mise en œuvre interne au lieu d'appeler la fonction expr utilitaire à partir de /bin. Sur Solaris, j'ai vérifié que ksh93 traite [ comme un builtin (même si la page de man ne semble pas le dire). De la grappe de sortie, vous pouvez voir que ksh n'est pas l'exécution de la commande expr [.
OriginalL'auteur Chris Quenelle
Thw deux options possibles sont
Si $? est 0, alors le fichier est lié sinon ses pas lié, je préfère la première option à la place.
OriginalL'auteur Sachin Chourasiya