繁体   English   中英

使 shell 命令在 git hook 中可用

[英]make shell commands available in git hook

目标是在用户克隆/签出存储库后向用户提供一些命令集。

git 钩子文件

#!/bin/sh
echo $PWD/dev-commands.sh
source $PWD/dev-commands.sh

我想在 git hook 名称 dev-commands.sh 之后提供的命令

#!/bin/sh
function greet() {
  echo Hello
}

这似乎没有使命令可用。 如果我在目录中运行源dev-commands.sh手动它确实让greet命令availble的..

有小费吗?

源函数在提供它们的 shell 中可用,而不是它的父 shell。 这就是为什么当您编写 shell 脚本时,它可以使用自己的函数而不必担心干扰其调用者的命令的含义。

( doit() { echo hi; }; doit ); doit

例如,会hi ,然后很可能会抱怨-bash: doit: command not found或等效消息,因为括号在那里将doit放入具有自己环境的子外壳中,就像 git hooks 一样。

在没有他们积极合作的情况下动态更改某人的 shell 命名空间可以并且将被准确地描述为恶意软件。

包括他们可以根据需要获取的设置命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM