我命名爲shrinkwrap.sh我的項目目錄有這樣的bash腳本:如何從無限循環停止bash腳本?
update_package_json_changed_files() {
echo "> changed files"
git diff --cached --name-only | grep -x package.json
}
update_shrinkwrap_and_at_to_git_index() {
echo "> Updating npm-shrinkwrap.json and adding to current commit."
npm shrinkwrap
git add npm-shrinkwrap.json
}
if get_package_json_changed_files; then
update_shrinkwrap_and_at_to_git_index
fi
,我在的package.json爲以下運行此腳本:
"scripts": {
"shrinkwrap": "bin/shrinkwrap.sh"
}
和我裝NPM預 - 爲了執行腳本如下:
"pre-commit": ["shrinkwrap"]
當我嘗試提交時,腳本進入一個無限循環。它一直在運行,沒有任何東西可以阻止它。我試過命令+ C,控制+ Z.沒有任何工作。有沒有人遇到過這個問題?爲什麼會這樣呢?
我將sudo添加到npm shrinkwarp前,並且它確實停止了循環。當我將它取出時,循環再次啓動。想知道爲什麼? –
@MaxDoung我編輯了答案以迴應您的評論。 – VonC
我還有兩個問題。我在哪裏取代(touch/tmp/in_progress)。另外,你能解釋一下爲什麼這個無限循環會發生嗎?我對此沒有經驗。非常感謝。 –