foreach - knockout - Mostrar y ejecutar
smarty for (2)
Del manual ( 5.2 Receta Haciendo eco , el énfasis en negrita es mío):
Normalmente se imprimen cada línea de la receta antes de ejecutarse . Llamamos a esto eco porque da la apariencia de que usted mismo está escribiendo las líneas.
Cuando una línea comienza con
@
, se suprime el eco de esa línea . La@
se descarta antes de que la línea se pase al shell. [...]
Alternativamente:
La
--silent
-s
o--silent
para hacer evita todo eco, como si todas las recetas comenzaran con@
.
En este makefile
dirs = $(shell ls)
clean:
$(foreach dir,$(dirs),echo $(dir);)
La salida es
$ make clean
echo bin; echo install.sh; echo Makefile; echo README.md; echo utils;
bin
install.sh
Makefile
README.md
utils
¿Por qué primero muestra el comando, luego lo ejecuta? ¿Cómo puedo omitir la primera línea?
Prepone el comando con el carácter @. Ejemplo:
dirs = $(shell ls)
clean:
@$(foreach dir,$(dirs),echo $(dir);)