Script shell
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Alors voila je débute totalement avec les script shell, et je souhaiterais récupérer le type d'un fichier (répertoire, lien, exécutable..).
ls -F affiche les fichier du répertoire courant, avec comme dernier caractère pour chaque fichier: / * ou @, qui définit le type. J aimerais donc extraire ce caractère et l'insérer dans une variable..
j'appel mon programme de cette manière :
./test_type.sh fichier
fichier : fichier dont on veux récuperer le type.
Merci d'avance
Alors voila je débute totalement avec les script shell, et je souhaiterais récupérer le type d'un fichier (répertoire, lien, exécutable..).
ls -F affiche les fichier du répertoire courant, avec comme dernier caractère pour chaque fichier: / * ou @, qui définit le type. J aimerais donc extraire ce caractère et l'insérer dans une variable..
j'appel mon programme de cette manière :
./test_type.sh fichier
fichier : fichier dont on veux récuperer le type.
Merci d'avance
A voir également:
- Script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
2 réponses
Salut, il me semblait qu'il existait une option dans une commande pour afficher le type dossier, fichier etc... , mais je ne retrouve pas, un faux souvenir probablement. Pour répondre à ton problème, on peut utiliser la commande file, ce qui nous donne :
Attention, à la ligne output='file -b $1', ce sont des guillemets inversés, on ne voit pas bien ici.
Et donc au final, tu l'as compris on a : f=fichier, d=dossier et l=lien symbolique.
A toi de jouer si tu veux d'autres spécifications.
All software sucks.
Alan Cox
#!/bin/sh filetype='' output='file -b $1' if [[ $output =~ "symbolic link" ]] then filetype='l' elif [[ $output =~ "directory" ]] then filetype='d' else filetype='f' fi echo "File type : "$filetype
Attention, à la ligne output='file -b $1', ce sont des guillemets inversés, on ne voit pas bien ici.
Et donc au final, tu l'as compris on a : f=fichier, d=dossier et l=lien symbolique.
A toi de jouer si tu veux d'autres spécifications.
All software sucks.
Alan Cox