Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1503 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [shell] binary operator expected?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[shell] binary operator expected?

n°897487
Walloo
Posté le 24-03-2007 à 10:32:12  profilanswer
 

Hello,
 
Dans un script shell, je cherche à vérifier la présence d'une sous chaine dans une chaine.
La chaine est la liste des arguments passée au script.
 
Par exemple:
 

#!/bin/sh
 
if [ $(echo "$*" | grep toto) ]
then
  echo "toto present en argument"
fi


 
ça fonctionne s'il n'y a qu'un argument.
ça fonctionne s'il y a plusieurs arguments, mais pas de toto parmis eux.
ça ne fonctionne pas s'il y a toto dans une liste d'arguments.
 

$ ./test.sh hello toto
./test.sh: line 3: [: hello: unary operator expected


 
Quelqu'un aurait une solution pour moi? :)
 
Merci
 :hello:

Message cité 1 fois
Message édité par Walloo le 24-03-2007 à 10:54:27
mood
Publicité
Posté le 24-03-2007 à 10:32:12  profilanswer
 

n°897495
G Abitbol
Posté le 24-03-2007 à 11:14:49  profilanswer
 

Walloo a écrit :


Quelqu'un aurait une solution pour moi? :)


 
oui : man bash (o:
 

Code :
  1. if [[ -n $(echo $* | grep toto) ]] ;
  2. then
  3.     echo "toto en argument"
  4. else
  5.     echo "pas de toto en argument"
  6. fi


 
par contre, si une chaîne contenant toto est presente dans les arguments (nom du script compris), ca donnera un resultat positif.

n°897498
Walloo
Posté le 24-03-2007 à 11:21:07  profilanswer
 

Oui, c'est exactement le comportement que je cherchais.
 
Merci à toi :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [shell] binary operator expected?

 

Sujets relatifs
[Shell ou Perl] extraire un fichier dans un zipcréation d'un script shell
[Debian] Programme de consignation du shellLancement automatique script shell sur MinGW Windows
mes scripts shell ne se lance plus...[AIX] script shell qui fonctionne bizarre
shell, boucle for et cat d'un fichiertest de l'activité d'un port - shell
script shell : utiliser la durée des fichiers audioFreebox V5 : acces au shell ?
Plus de sujets relatifs à : [shell] binary operator expected?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR