#1 Le 15/08/2006, à 12:24
- RenZO
Bash : if [ls | grep sfv = 0] : quelle syntaxe ?
Hello !
J'aimerais faire un nautilus-script, qui vérifie la présence d'un type de fichier, avant de lancer un soft (qui utilise ce même fichier).
Je veux vérifier qu'il y a des sfv, afin de pouvoir lancer le check sfv.
if [$ ls | grep sfv -eq 0];then
zenity --error --title="Error" --text="Your folder doesn't contain sfv"
else
quelle est mon erreur ?
merci
RenZO
Hors ligne
#2 Le 15/08/2006, à 22:06
- lunique
Re : Bash : if [ls | grep sfv = 0] : quelle syntaxe ?
Pour commencer, je pense que le $ tout seul ne sert a rien, ce doit plutot etre "$(ensemble commande)". De plus, il faut un espace apres le [ et un autre avant le ] (enfin, je crois que c'est ce que nous avait dit notre prof... ).
Ensuite tu teste si un ensemble de ligne vaut 0. Là, il n'est pas content, tu dois compter le nombre de ligne qui on sfv dans leur nom de fichier, et faire la chose s'il y en a, donc on utilise l'option -c de grep pour avoir un nombre qu'on pourra comparer à 0
Donc en regroupant tout sa, on obtient
if [ $(ls|grep -c sfv) -eq 0 ]
Voila, bonne soirée
Hors ligne