簡體   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