Foros del Web » Administración de Sistemas » Unix / Linux »

Alias para compilar LESS

Estas en el tema de Alias para compilar LESS en el foro de Unix / Linux en Foros del Web. Hola nuevamente. Ahora estoy trabajando ordinariamente con LESS. Tengo que compilarlo mediante el GIT Bash para Windows. Pero tengo flojera y no quiero repetir cada ...
  #1 (permalink)  
Antiguo 16/08/2015, 16:55
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 10 meses
Puntos: 22
Pregunta Alias para compilar LESS

Hola nuevamente.

Ahora estoy trabajando ordinariamente con LESS. Tengo que compilarlo mediante el GIT Bash para Windows. Pero tengo flojera y no quiero repetir cada vez la instrucción:
Código Less:
Ver original
  1. lessc style.less > ../css/style.css

Así que cree un alias para ello, pero no funciona:
Código Bash:
Ver original
  1. alias compilar="'lessc style.less > ../css/style.css'"

Bash me dice que no hay tal archivo o directorio en esa instrucción . Y, claro, no estoy intentando acceder a ningún archivo o directorio, sino ejecutar el comando lessc.

¿Alguna idea para solucionar esto?

Saludos!
  #2 (permalink)  
Antiguo 17/08/2015, 11:36
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Alias para compilar LESS

A menos que el bash de windows sea diferente en ese sentido, el problema que veo es el uso de dos pares de comillas.

La definición de un alias va entre comillas simplemente para que los espacios no entren en juego y se considere toda la línea como lo que se quiere asignar al alias, por ejemplo:

alias ll="ls -lrt"

Sin las comillas, bash respondería "bash: alias: -lrt: no se encontró", ya que "-lrt" no es un alias definido

En el manual de bash se explica este comportamiento:

[pre] alias [-p] [name[=value] ...]
Alias with no arguments or with the -p option prints the list of aliases in the form alias name=value on stan‐
dard output. When arguments are supplied, an alias is defined for each name whose value is given. A trailing
space in value causes the next word to be checked for alias substitution when the alias is expanded. For each
name in the argument list for which no value is supplied, the name and value of the alias is printed. Alias
returns true unless a name is given for which no alias has been defined.[/pre]

Ahora, al proveer dos juegos de comillas, estás impidiendo que se aplique la separación de palabras (word splitting) en los espacios, con lo que tu cadena entera se transforma en el nombre del programa que se intentará correr. Es decir, al correr el alias 'compilar', bash buscará una carpeta con nombre "css" dentro de otra llamada "lessc style.less > ..", e intentará correr el programa "style.css" dentro de ella.

Solución al problema: elimina el doble entrecomillado en tu declaración de alias, esto es, quita las comillas dobles o las simples de la línea.
  #3 (permalink)  
Antiguo 17/08/2015, 21:05
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 10 meses
Puntos: 22
De acuerdo Respuesta: Alias para compilar LESS

Cita:
Iniciado por AlvaroG Ver Mensaje
A menos que el bash de windows sea diferente en ese sentido, el problema que veo es el uso de dos pares de comillas
Excelente, nada que decir.

Saludos y hasta pronto!

Etiquetas: linux
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:13.