Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/04/2012, 08:49
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Escapar asterisco en la shell

Es simple: cualquier shell de UNIX (y por extensión, de Linux) expande los * de la línea de comandos, sustituyendo los argumentos que encuentre por los nombres de archivo que coincidan. Eso es normal y esperable, de hecho gracias a este comportamiento es que funcionan cosas como "ls -l *"

Si querés evitar esto, tendrás que entrecomillar los argumentos del script, pasando "Docu**me*" en vez de Docu**me*.


Otra cosa: No conozco la sintaxis {min..max} para la shell (aunque sé que BASH tiene construcciones que no conozco). Creo que no es correcto y de hecho no te funciona, fíjate que $i tiene el valor {0..9} dentro del for, lo cual es un indicio claro de que la sintaxis no es reconocida.

Si me preguntas, creo que tu script es tan sencillo como

Código BASH:
Ver original
  1. echo -n $1 |tr -dc '*' |wc -c


Saludos.