[bash] scritp
Résolu
pti_bebel
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
pti_bebel Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
pti_bebel Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
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 :)
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 :)
A voir également:
- [bash] scritp
- Bingo bash - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash addition - Forum Programmation
5 réponses
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.
pti_bebel
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
Tu peux quand même me donner des éléments de réponses afin que je parvienne à le faire stp ?
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.
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.
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 ?
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 ?
#!/bin/bash for res in `ls` do if [ ! -f $res ] then echo "[$res]" else echo "$res" fi done exit 0Sans oublier l'espace entre "!" et "-f"
;-))
d’autre part, la syntaxe
est à proscrire IMPÉRATIVEMENT, il faut faire
à la place.
for i in `ls`
est à proscrire IMPÉRATIVEMENT, il faut faire
for i in *
à la place.
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 ;-)
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 ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question