Tomemos un simple for loop
#!/bin/bash
for i in `seq 1 10`;
do
echo $i
done
El punto y coma de AFAIK en los scripts de bash hace que el shell ejecute el comando actual sincrónicamente y luego pase al siguiente. Al presionar Intro, literalmente, es lo mismo, excepto que no le permite ingresar el siguiente comando, vaciando el búfer de inmediato.
Entonces, ¿por qué Shell no puede interpretar la siguiente línea?
for i in `seq 1 10`; do; echo $i; done
¿Cómo funciona esto for loop
realmente?
do
.do
. Además, esta respuesta explica por qué debe eliminar el punto y coma después de 'do'.$i
necesita ser parte de un nombre de archivo? ¿Necesita comillas dobles?El punto y coma después
do
es un error y no debe estar allí.Lo siguiente funciona correctamente:
fuente