2014-02-05 49 views
1

我正在寫一點點pre-commit鉤子來檢查調試代碼此使用時效果很好:的grep在預提交git的正則表達式鉤

FORBIDDEN='console.log' 

但是當我更改爲:

FORBIDDEN='die(|console.log(|print_r(' 

它無法捕捉任何東西。

全碼:

FILES_PATTERN='(\..+)?$' 
FORBIDDEN='die(|console.log(|print_r(' 

git diff --cached --name-only | \ 
    grep -E $FILES_PATTERN | \ 
    xargs grep -E --with-filename -n $FORBIDDEN | \ 
    grep -v '//'; 

不知道它的正則表達式或別的東西

回答

1

嘗試逃離你的括號:

FORBIDDEN='die\(|console.log\(|print_r\(' 
+0

然後我得到'grep的:無與倫比(或\(' – keeg

+0

嘗試雙反斜槓? – tenub

+0

同樣無法匹敵的錯誤 – keeg