Bash не будет запускать мой простой скрипт
Когда я выполнюinit-hooks
я получил
bash: init-hooks: команда не найдена
вот содержимое init-hooks:
#!/bin/bash
set -e
printf '\ncopying hooks\n\n'
cp ./hooks/* ../../.git/hooks
Когда я выполню cp ./hooks/* ../../.git/hooks
непосредственно из bash выполнение успешно.
(обратите внимание, что это та же команда, что и в сценарии)
Доказательство наличия файлов в каталоге и результаты выполнения:
Почему мой сценарий ведет себя не так, как команда / почему мой сценарий не найден?
2 ответа
В системах Linux (где bash
по соображениям безопасности текущий каталог обычно не включается в путь.
Бежать echo $PATH
проверить, какие каталоги используются для поиска исполняемых файлов, если они указаны в командной строке без пути. Текущий каталог (.
) не должно быть там.
Запустите скрипт как ./init-hooks
а также bash
найду это.
Я предпочитаю запустить его следующим образом
./init_hooks
или введите полное имя файла.
убедитесь, что скрипт выполняется
chmod +x ./init_hooks