[英]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.