Script

Gonzalo Castro gonzalo.castro.castilla en gmail.com
Sab Ene 19 15:53:31 GMT 2008


Saludos a todos!
estoy haciendo un Script que quiero que haga lo siguiente:
1- te dice que ele introduzcas una variable
2-lee la variable
3- compare esa variable con una lista de palabras
4- si la variable introducida está en la lista de palabras te dice que
no puedes usarla
5- si la variable introducida no está en la lista de palabras te dice
que sí puedes utilizarla

He conseguido casi todo. El único problema es que cuando introduzco
una variable de pocas letra ("a", por ejemplo) me dice que no puedo
usarlo, ya que grep busca (y encuentra) a(es) en la lista de palabras
y al encontrarlas da como resultado un valor cierto ($? = 0) y me dice
que no puedo usarla.

Me gustaría que me ayudárais a solucionar ese error, y que para que
[$? = 0] tenga que coincidir toda la palabra.

Os pongo el estado actual del script:

echo -n Introduce el nombre del identificador deseado:
read word

#esta es la lista de palabras
echo '#Special words
abstract    continue    for         new         switch
boolean     default     goto        null        synchronized
break       do          if          package     this
byte        double      implements  private     threadsafe
byvalue     else        import      protected   throw
case        extends     instanceof  public      transient
catch       false       int         return      true
char        final       interface   short       try
class       finally     long        static      void
const       float       native      super       while
#Reserved Words
cast        future      generic     inner
operator    outer       rest        var'|grep -o $word


if [ $? = 0 ]
then
    echo Este identificador NO se puede usar
elif [ $? = 1 ]
then
    echo Este identificador SÍ se puede usar
fi
echo

Muchas gracias a todos!



Más información sobre la lista de distribución ubuntu-es