Tengo un simple shell script:
#!/bin/bash
echo test
Puedo ejecutar script con éxito como:
./test.sh
y
source ./test.sh
Sin embargo, lo siguiente arroja un error:
. ./test.sh
error:
.: Command not found.
¿Qué puede causar el error? Esto funciona en el capitan pero no en sierra.
Estoy ejecutando MacOS 10.12.3 con el terminal por defecto.
Gracias.
EDIT: He reescrito la pregunta para simplificarla con un pequeño script de prueba en lugar de mi script de producción real - esto muestra que el problema es el entorno de ejecución más que el script.
0 votos
Tu script no tiene sentido. ¿Es algo que estás escribiendo o lo has copiado de algún sitio?
0 votos
Eso es sólo parte del script - me obliga a usar ../ y no ./ - el script pasa a hacer algo de EXPORT y establece varios parámetros de hormiga. Este scriptha estado en uso durante muchos años - nunca he tenido un problema con él hasta tratar de ejecutarlo en sierra.
0 votos
Hay algo crítico que falta porque la 2da línea (comienza con "echo") generará un error como se escribe en cualquier sistema *nix desde Linux hasta Sierra. Dicho esto, nunca me he encontrado con un comando que se ejecute con un punto inicial y un espacio.
0 votos
No quiero publicar el script completo ya que es propietario, los detalles del comando echo no son relevantes, probablemente sea un error de copiar y pegar - mi punto es que el scripthace un chmod -x en sí mismo si lo ejecutas como . /script.sh y luego le dice al usuario que lo ejecute como . ./script.sh Nunca he visto que . ./script.sh no funcione antes.
1 votos
Ese líder
.
es lo mismo quesource
(ver ss64.com/bash/source.html ). Pruebe a llamar al script consource ./script.sh
y ver si funciona. Es probable que el script tenga esa restricción porque está estableciendo valores que serán utilizados por otros comandos. Sisource
también falla, ¿qué shell estás usando? ¿Y qué aplicación de terminal y versión específica de MacOS?0 votos
Probé con el código fuente ./script.sh y obtuve errores. Estoy usando el terminal por defecto de MacOS 10.12.3
0 votos
He añadido el script completo a la pregunta.
0 votos
En un sistema vanilla Sierra el comando
. ./script.sh
funciona como se esperaba...0 votos
@klanomath ¿Estás usando una actualización o una instalación limpia?
0 votos
Es una instalación limpia.
0 votos
@klanomath encontró la solución, publicó una respuesta