Tengo el siguiente script simple:
#!/bin/bash
echo "Bash version ${BASH_VERSION}..."
for i in {1..99..2}
do
echo $i
done
Salida en caso de que corra con sh file.sh:
Bash version ...
{1..99..2}
Salida en caso de que corra con bash file.sh:
Bash version 4.2.25(1)-release...
1
3
5
.
.
.
99
Tengo dos consultas:
Si he escrito una línea shabang que especifica shell, ¿no debería ejecutarse con bash si uso
sh file.shobash file.sh?Entiendo que
$BASH_VERSIONsh no lo reconoce, pero ¿cuál es el problema con for loop? ¿Por qué no se imprimen los números?
dash, que como usted diceshen Ubuntu, no está presente principalmente "para ser un aviso de emergencia para las circunstancias de DIRE", sino para que el sistema pueda ejecutarse y comenzar rápidamente . De esta manera,dashes muy adecuado para su uso en un sistema operativo moderno, pero lo que está bien adaptado para es como un bajo perfil, cáscara rápido para scripting - en particular, la ejecución de scripts del sistema al iniciar un grande, complejo, sistema operativo moderno, con un mínimo Rendimiento sobrecarga.