Коли я виконуюinit-hooks
я отримав
bash: init-hooks: command-not found
Ось вміст init-гачок:
#!/bin/bash
set -e
printf "ncopying hooksnn"
cp ./hooks/* ../../.git/hooks
Коли я виконую cp ./hooks/* ../../.git/hooks
від bash безпосереднє виконання є успішним. (зауважте, що це та сама команда, що і в скрипті)
Доказ файлів знаходяться в каталозі та результатах виконання:
Чому мій сценарій поводиться інакше, ніж команда / чому мій скрипт не знайдено?
Відповіді:
2 для відповіді № 1У системах Linux (де bash
походить з) поточна директорія, як правило, не включається в шлях з міркувань безпеки.
Біжи echo $PATH
щоб перевірити, які каталоги використовуються для пошуку виконуваних файлів, коли вони надаються в командному рядку без шляху. Поточний каталог (.
) не повинно бути там.
Запустіть скрипт як ./init-hooks
і bash
знайде це.
0 для відповіді № 2
Я спромігся запустити його таким чином
./init_hooks
або введіть повне ім'я файлу.
переконайтеся, що сценарій виконуваний
chmod + x ./init_hooks