Supongamos que tiene un script bash B, que está obteniendo de otro script bash A. B tiene un conjunto de definiciones de variables y funciones. A es el script del controlador principal. ¿Necesita la línea #!/Bin/bash en la parte superior de A y B? ¿Qué pasa si lo haces y si no?¿Necesita shebang en todos los scripts bash?
Respuesta
El shebang solo es obligatorio para esos scripts, que serán ejecutados por el sistema operativo de la misma manera que los ejecutables binarios. Si busca en otro script, entonces se ignora el shebang.
Por otro lado. SI se supone que un script debe ser fuente, entonces es una convención NO poner ningún shebang al principio.
El shebang se usa si ejecuta el script directamente como un archivo ejecutable (por ejemplo, con el comando ./script.sh
). En este caso, le dice al sistema operativo qué ejecutable ejecutar.
No es necesario y no tiene ningún efecto si, por ejemplo, escribe bash ./script.sh
o crea la secuencia de comandos.
... o cuando obtiene el script :) –
Tampoco es necesario si ya está en un mensaje bash - supone que el script será bash (y otros shells normalmente asumen que los scripts también son para ellos) –
Debe usar shebang en todas las secuencias de comandos, especialmente las que utilizan funciones compatibles no sh.
En Debian, por ejemplo, el shell predeterminado es guión (no bash). Si usa la función bash-only y no especifica que este script debe ser interpretado por bash, puede fallar incluso en Linux. Fallará en Solaris o HP-UX casi con seguridad.
Si su archivo va a ser solo fuentes de otras secuencias de comandos, puede omitir la línea shebang pero no establecer el permiso ejecutable. También para tales archivos es bueno mantener la compatibilidad/bin/sh.
Recomiendo leer DashAsBinSh.
- 1. ¿Cómo resaltar los scripts Bash en Vim?
- 2. PHP: ignore_user_abort (true) en todos los scripts
- 3. Nota de Shebang: ¿Scripts de Python en Windows y Linux?
- 4. Bash o Bourne Scripts?
- 5. ¿Licencias (Bash) scripts bajo GPL?
- 6. Escribiendo ganchos Git en scripts python/bash
- 7. ¿Cómo migrar los scripts de bash a dash?
- 8. Invocar alias de bash en scripts Fabric
- 9. Scripts BASH: archivo whiptail seleccione
- 10. Variables como comandos en scripts bash
- 11. Generando un script bash con echo, problema con shebang línea
- 12. ¿Cómo uso expresiones regulares en scripts bash?
- 13. ¿Qué significa '$?' significa en scripts bash?
- 14. Almacenamiento de archivos dentro de los scripts de BASH
- 15. ¿Están todos los scripts escritos en lenguajes de script?
- 16. ¿Cuál es la sangría apropiada para los scripts bash?
- 17. BASH copia todos los archivos excepto uno
- 18. Cómo gzip todos los archivos en todos los subdirectorios en un archivo comprimido en bash
- 19. Creación de scripts en shell: uso de bash con xargs
- 20. Límite de línea de Shebang en kernel de bash y Linux
- 21. Cómo descomprimir todos los archivos en todos los subdirectorios en bash
- 22. ^palabra^reemplazo^en todos los partidos en Bash?
- 23. ¿Cómo hacer una GUI para scripts bash?
- 24. Argumento que pasa en los scripts .sh
- 25. ¿Eliminar todos los archivos pero mantener todos los directorios en un script bash?
- 26. ¿Netbeans admite colorear para scripts .sh (bash)?
- 27. ¿Cómo contar todos los archivos legibles en Bash?
- 28. Borrar todos menos los archivos X más recientes en bash
- 29. ¿Puedo ejecutar scripts bash en mi cuenta Heroku?
- 30. ¿Se puede usar una función bash en diferentes scripts?
Puede obtener la respuesta aquí, pero ¿lo intentó? – jman