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