[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] script en bash problema con variables



Buenos, perdón por el off-topic, pero tiene que ver con nuestro deporte
favorito... /bin/bash :)

Lo que quiero hacer:
Es un script, con varias funciones y varios argumentos posibles, uno de
ellos es -a, que ejecuta el script para todos los ficheros de un
directorio.

El script es multidioma:
case $LANG in
es*)
msg1="hola"
;;
eu*)
msg1="kaixo"
;;
en*)
msg1="hello"
;;
esac

Tiene muchos mensajes y creo que estando separados me ahorro unos
cuantos cases y facilito la labor a los traductores.

Problema:
donde me gustaría ver: blablabla nombrefichero.xml blablabla
veo esto: blablabla -a blablabla

Ejemplo resumido:

#!/bin/bash

MSG[01]="blablabla $1 blablabla"

funcion(){ echo $MSG[01] }

while (($#)); do
 case $1 in
        -a)
         for i in `ls /directorio`; do
                funcion "$i" `basename "$i" .xml`
         done
        ;;
        *)
        echo "foo"
        ;;
 esac
 shift
done

Es tarde y estoy espeso... ofrezco un millón a quien me ilumine (un
millón de gracias)

Saludos

si el nombre del fichero es el ultimo parametro, entonces creo que
esto debería ser así:

[OT] script en bash problema con variables   DebianList
		
	 Reply 		
Reply to all Reply to allForward Forward Print Add Iñigo to Contacts
list Delete this message Report phishing Show original Message text
garbled?
	Iñigo Tejedor Arrondo 	
to Debian
	
show details
	 9:16 pm (11 hours ago)
Buenos, perdón por el off-topic, pero tiene que ver con nuestro deporte
favorito... /bin/bash :)

Lo que quiero hacer:
Es un script, con varias funciones y varios argumentos posibles, uno de
ellos es -a, que ejecuta el script para todos los ficheros de un
directorio.

El script es multidioma:
case $LANG in
es*)
msg1="hola"
;;
eu*)
msg1="kaixo"
;;
en*)
msg1="hello"
;;
esac

Tiene muchos mensajes y creo que estando separados me ahorro unos
cuantos cases y facilito la labor a los traductores.

Problema:
donde me gustaría ver: blablabla nombrefichero.xml blablabla
veo esto: blablabla -a blablabla

Ejemplo resumido:

#!/bin/bash

MSG[01]="blablabla $1 blablabla"

funcion(){ echo $MSG[01] }

while (($#)); do
case $1 in
      -a)
       for i in `ls /directorio`; do
              funcion "$i" `basename "$i" .xml`
       done
      ;;
      *)
      echo "foo"
      ;;
esac
shif

Reply to: