[bash] scritp

Résolu/Fermé
pti_bebel Messages postés 8 Date d'inscription lundi 27 octobre 2008 Statut Membre Dernière intervention 1 novembre 2008 - 27 oct. 2008 à 16:10
pti_bebel Messages postés 8 Date d'inscription lundi 27 octobre 2008 Statut Membre Dernière intervention 1 novembre 2008 - 30 oct. 2008 à 13:11
Bonjour,

J'aimerai écrire un script qui affiche les fichiers du répertoire passé en paramètre en encadrant de crochets le nom du répertoire et en faisant suivre d'une étoile le nom des fichiers exécutable.


Si quelqu'un peut me donné des éléments de réponses, ça serait super cool :)

5 réponses

(Pabix) Messages postés 578 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 27 octobre 2009 81
27 oct. 2008 à 18:13
Bonjour, je crois qu’on te demande de faire ça dans un cours pour que tu en postes deux à la fois pour des scripts qui ne semblent pas avoir de grande utilité puisque ls --color=auto surligne direct les exécutables.
0
pti_bebel Messages postés 8 Date d'inscription lundi 27 octobre 2008 Statut Membre Dernière intervention 1 novembre 2008
27 oct. 2008 à 18:26
Tu peux quand même me donner des éléments de réponses afin que je parvienne à le faire stp ?
0
(Pabix) Messages postés 578 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 27 octobre 2009 81
27 oct. 2008 à 18:32
abs.traduc.org est une excellente documentation sur bash.
Tu y apprendras que [ -x fichier ] te renvoie VRAI si le fichier est exécutable.
Tu y apprendras comment faire des tests avec la structure if commande ; then commandes ; fi
Ça devrait te suffire. Ah si… echo -n permet de ne pas passer à la ligne.
0
pti_bebel Messages postés 8 Date d'inscription lundi 27 octobre 2008 Statut Membre Dernière intervention 1 novembre 2008
29 oct. 2008 à 22:26
Je n'y arrive pas !!


Regarde ce que j'ai fais :


#!/bin/bash
for res in `ls`
do
if [ !-f $1 ]
then echo "[$res]"
else echo "$res"
fi
done
exit 0



Voilà ce que j'ai fais, mais ça me met des [ ] sur tout les résultats et je ne sais pas pourquoi ça ne tiens pas compte du deuxième echo, j'ai oublier un truc ?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
29 oct. 2008 à 22:32
#!/bin/bash
for res in `ls`
do
if [ ! -f $res ]
then echo "[$res]"
else echo "$res"
fi
done
exit 0
Sans oublier l'espace entre "!" et "-f"

;-))
0
(Pabix) Messages postés 578 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 27 octobre 2009 81
30 oct. 2008 à 09:13
d’autre part, la syntaxe
for i in `ls`


est à proscrire IMPÉRATIVEMENT, il faut faire

for i in *


à la place.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
30 oct. 2008 à 09:20
Exact, mais comme l'erreur ne venait pas de là, j'ai préféré ne pas perturber notre ami avec cette syntaxe.

De même que la syntaxe avec les quotes inversées `ls` sont à proscrirer et à remplacer par la syntaxe $(ls).

;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
30 oct. 2008 à 10:58
Salut,

Toutefois * ne traite pas les fichiers cachés
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
30 oct. 2008 à 11:05
On s'en fiche, c'est pas des fichiers c'est des répertoires ;-DDD

PS. Au cas ou... humour ;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
30 oct. 2008 à 11:06
J'aimerai écrire un script qui affiche les fichiers du répertoire passé en paramètre
;-))
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
30 oct. 2008 à 11:27
Oups j'ai confondu le thread avec celui-ci ;-(((

pour chaque fichier /opt/local/sympa/expl/*/config :
nouvelle ligne dans le fichier
écrire "liste :"
écrire la valeur de l'étoile (*) (je ne sais pas comment la récupérer)


Toutes mes excuses ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pti_bebel Messages postés 8 Date d'inscription lundi 27 octobre 2008 Statut Membre Dernière intervention 1 novembre 2008
30 oct. 2008 à 13:11
C'est bon, ça fonctionne comme je voulais, merci beaucoup !!
0