我有一個帶有后端和前端的專案,但是由于每次更改都會執行 git pre-commit 掛鉤,因此我需要檢查是否在前端進行了更改。
我試過這個預提交鉤子:
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
git diff --cached --name-only --quiet frontend
if [ $? -eq 1 ]; then
cd frontend && npm run lint
fi
但是由于某種原因,它在運行 git 命令時失敗了——這在我的終端中運行良好。我得到的錯誤是:
husky - 預提交鉤子以代碼 1 退出(錯誤)
這并沒有真正的幫助。我的猜測是 git 命令回傳一個錯誤代碼,腳本因此結束。
知道如何解決這個問題嗎?
uj5u.com熱心網友回復:
shell 腳本總是以最后執行的命令的退出代碼或使用exit內置命令指定的代碼退出。
如果您需要您的腳本始終以特定的退出代碼退出(例如始終成功,0),請確保您明確指定退出代碼:
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
git diff --cached --name-only --quiet frontend
if [ $? -eq 1 ]; then
cd frontend && npm run lint
fi
exit 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/324287.html
上一篇:在shell腳本中呼叫鏈碼函式
