2015-06-29 93 views
1

我只是試圖提示並獲得一些輸入,然後根據該輸入在makefile中採取行動。如何在makefile中使用正則表達式if語句?

我需要檢查輸入是「Y」還是「y」。其他任何應該退出。

目前我有以下幾種,但有效,但有點冗長。我希望通過使用一個簡單的正則表達式來使它更簡潔:

if [ "$$INSTALL_GLOBALS" != "y" ] && [ "$$INSTALL_GLOBALS" != "Y" ]; then \ 

回答

2

使用正則表達式字符類。

if [[ "$$INSTALL_GLOBALS" =~ ^[Yy]$ ]] 

在正則表達式^斷言,我們開始和$斷言thta我們正處於一個行的末尾。 [yY]匹配單個字符,不管它可能是大寫的Y還是小的y

+0

這幾乎是我試過的,但我得到一個語法錯誤。 https://gist.github.com/SeerUK/cbfee9b01b449586885a – Seer

+0

你必須在'']'之前給出空格' –

+0

唉!就是這樣,它是'$',它認爲它是一個變量,並將其移除並釋放空間。 – Seer