Cuando ejecutoinit-hooks
yo obtengo
bash: init-hooks: comando-no encontrado
Aquí están los contenidos de los ganchos de inicio:
#!/bin/bash
set -e
printf "ncopying hooksnn"
cp ./hooks/* ../../.git/hooks
Cuando ejecuto cp ./hooks/* ../../.git/hooks
desde bash directamente la ejecución es exitosa. (note que este es el mismo comando que el que está en el script)
La prueba de los archivos está en el directorio y los resultados de la ejecución:
¿Por qué mi script se comporta de manera diferente al comando / por qué no se encuentra mi script?
Respuestas
2 para la respuesta № 1En los sistemas Linux (donde bash
viene de) el directorio actual generalmente no se incluye en la ruta por razones de seguridad.
correr echo $PATH
para verificar qué directorios se usan para buscar ejecutables cuando se proporcionan en la línea de comandos sin una ruta. El directorio actual (.
) no debería estar allí.
Ejecutar el script como ./init-hooks
y bash
lo encontrara
0 para la respuesta № 2
Suugest para ejecutarlo de la siguiente manera
./init_hooks
o poner el nombre de archivo completo.
Asegúrate de hacer el script ejecutable
chmod + x ./init_hooks