当我执行init-hooks
时,我得到了
bash:init-hooks:command-not found
这是init-hooks的内容:
#!/bin/bash
set -e
printf '\ncopying hooks\n\n'
cp ./hooks/* ../../.git/hooks
当我从bash执行cp ./hooks/* ../../.git/hooks
时,直接执行成功。
(注意这与脚本中的命令相同)
为什么我的脚本的行为与命令/为什么找不到我的脚本不同?
答案 0 :(得分:2)
在Linux系统上(bash
来自),出于安全原因,当前目录通常不包含在路径中。
运行echo $PATH
以检查在没有路径的情况下在命令行中提供可执行文件时用于搜索可执行文件的目录。当前目录(.
)不应该在那里。
以./init-hooks
运行脚本,bash
会找到它。
答案 1 :(得分:0)
我认为按照以下方式运行
./ init_hooks
或输入完全限定的文件名。
确保使脚本可执行
chmod + x ./init_hooks