Tengo un script que usa shshell. Me sale un error en la línea que usa el sourcecomando. Parece sourceque no está incluido en mi shshell.
Si intento explícitamente ejecutar sourcedesde shell obtengo:
sh: 1: source: not found
¿De alguna manera debo instalar "fuente"? ¿Tengo una versión incorrecta de sh?

sourcees una "versión incorrecta".source: not foundsignifica que elsourcecomando se evaluó correctamente, pero el archivo que debería haber leído no existe.sourceporque es una característica del shell. No se puede implementar como un comando externo.Respuestas:
/bin/shPor lo general, es otro shell que intenta imitar The Shell. Muchas distribuciones usan/bin/bashparash, es compatiblesource. En Ubuntu, sin embargo,/bin/dashse usa lo que no es compatiblesource. La mayoría de los proyectiles usan en.lugar desource. Si no puede editar el script, intente cambiar el shell que lo ejecuta.fuente
/bin/shllamadas/bin/dash. Tradicionalmente, se/bin/shllama/bin/bashmodo de compatibilidad sh.SHELL := /bin/basha la parte superior de mi Makefile.En Bourne shell (sh), use el. comando para obtener un archivo
fuente
sourceno es estrictamentesh.. ./filename. De lo contrario, obtendría unsh: 1: .: filename: not founderror al ejecutar pruebas en Travis-CI.Entonces estará bien
fuente
dpkg-reconfigurepodría no ser accesible para todos los usuarios, especialmente en sistemas que no están basados en Debiansource: not founderrores con antiguos clientes de telnet después de la actualización de Debian, gracias.La
sourceconstrucción es un bashismo. Escribe esto simplemente como en su.lugar.p.ej
fuente
Este problema ocurre porque jenkins Execute Shell ejecuta el script a través de su / bin / sh
En consecuencia, / bin / sh no conoce "fuente"
Solo necesita agregar la línea a continuación en la parte superior de su Shell de ejecución en jenkins
fuente
El
sourcecomando está integrado en algunos proyectiles. Si tiene un script, debe especificar qué shell usar en la primera línea, como:fuente
Enfrenté este error mientras intentaba llamar al comando de origen desde #Jenkins execute shell.
source profile.txtosource profile.propertiesEl reemplazo para el comando fuente es usar,
. ./profile.txto. ./profile.propertiesNota: hay un espacio entre los dos puntos (.)
fuente
Encontré en un Makenile GNU en Ubuntu, (donde / bin / sh -> bash)
Necesitaba usar el. comando, así como especificar la secuencia de comandos de destino con un prefijo ./ (ver ejemplo a continuación)
fuente no funcionó en este caso, no estoy seguro de por qué, ya que debería estar llamando a / bin / bash ..
Mi variable de entorno SHELL también está establecida en / bin / bash
Tenga en cuenta que esta muestra no incluye el carácter de tabulación; tuvo que formatear para el intercambio de pila.
fuente
source es un comando incorporado de bash, por lo que para ejecutar el comando source, puede iniciar sesión como Root.
sudo -s source ./filename.shfuente
En Ubuntu, en lugar de usar sh scriptname.sh para ejecutar el archivo, lo he usado. scriptname.sh y funcionó! La primera línea de mi archivo contiene:
#!/bin/bashusa este comando para ejecutar el script
fuente
Esto puede ayudarlo, recibí este error porque estaba intentando volver a cargar mi
.profilecon el comando. .profiley tenía un error de sintaxisfuente
Bourne shell (sh) usa PATH para ubicarse
source <file>. Si el archivo que está intentando obtener no está en su ruta, aparece el error 'archivo no encontrado'.Tratar:
fuente
sh: 1: source: not foundnofile not found