Tengo una función que quiero referenciar y usar en diferentes scripts. ¿Hay alguna manera de hacer esto? No quiero volver a escribir la misma función para diferentes scripts. Gracias.¿Se puede usar una función bash en diferentes scripts?
Respuesta
Claro - en el script, en la que desea utilizar la función, se puede escribir un comando como
source function.sh
que es equivalente a la inclusión de los contenidos de function.sh
en el archivo en el punto en el comando es correr. Tenga en cuenta que function.sh
necesita estar en uno de los directorios en $PATH
; si no es así, debe especificar una ruta absoluta.
Sí, puede localizar todas sus funciones en un archivo común (o archivos). Esto es exactamente lo que hago con todas mis funciones de utilidad. Tengo una sola utility.shinc
en mi directorio principal que es utilizado por todos mis programas con:
. $HOME/utility.shinc
que ejecuta la secuencia de comandos en el contexto de la shell actual. Esto es importante: si simplemente ejecuta el script include, se ejecutará en una subcadena y los cambios no se propagarán al shell actual.
Puede hacer lo mismo para grupos de scripts. Si es parte de un "producto", tendería a poner todas las secuencias de comandos y todas las secuencias de comandos incluidas en un solo directorio de shell para garantizar que todo esté localizado.
Sí ... ¡puedes! Agregar fuente nombre_funcional en su secuencia de comandos. Prefiero crear variable eg.VAR = $ (funtion_name), si agrega la fuente nombre_función después de #!/Bin/bash, entonces la secuencia de comandos ejecuta primero la tarea de función importada y luego la tarea de script actual, por lo tanto, es mejor crear variable y usar en cualquier parte del script. gracias .. Espero que funcione para usted :)
¿Por qué está copiando respuestas que se han publicado ... hace 8 años? –
Para una mejor comprensión ... He publicado más brevemente que el anterior. –
- 1. Bash o Bourne Scripts?
- 2. En bash, ¿puede usar una llamada a función como condición en una instrucción if?
- 3. Scripts BASH: archivo whiptail seleccione
- 4. ¿Cómo se puede usar php en una función de Javascript
- 5. ¿Se puede usar Haskell para escribir scripts de shell?
- 6. ¿Cómo hacer una GUI para scripts bash?
- 7. ¿Cómo uso expresiones regulares en scripts bash?
- 8. Invocar alias de bash en scripts Fabric
- 9. ¿Se puede usar CRC32 como función hash?
- 10. ¿Se puede invocar una función en una subshell bash como trabajo de fondo?
- 11. No se puede usar una función UDF de MySQL
- 12. Escribiendo ganchos Git en scripts python/bash
- 13. ¿Licencias (Bash) scripts bajo GPL?
- 14. ¿Puede bash mostrar la definición de una función?
- 15. ¿Qué significa '$?' significa en scripts bash?
- 16. Zend diferentes scripts de vista?
- 17. ¿Cómo resaltar los scripts Bash en Vim?
- 18. Variables como comandos en scripts bash
- 19. ¿Necesita shebang en todos los scripts bash?
- 20. función recursiva en bash
- 21. ¿Cómo se puede usar la función eval en makefile?
- 22. Determine si existe una función en bash
- 23. ¿Puede una aplicación Heroku usar puertos diferentes/múltiples?
- 24. definir una macro-función como en bash
- 25. ¿Netbeans admite colorear para scripts .sh (bash)?
- 26. Un puntero a una función encuadernada solo se puede usar para llamar a la función
- 27. ¿Por qué Cygwin puede ejecutar scripts .bat?
- 28. ¿Cuál es la palabra clave 'función' utilizada en algunos scripts bash?
- 29. ¿Se puede devolver una función JavaScript?
- 30. ¿Se pueden usar variables de entorno en scripts Inno Setup?
function.sh puede estar en cualquier lugar de su RUTA. Si bash está en modo posix, no se verá en el directorio actual. Todo esto se explica en la página del manual. – camh
Es cierto, lo tenía mezclado con otras cosas. –
Digamos que 'function.sh' también tiene algún código. Will 'source function.sh' también ejecutará el código? – user1527227