3

我试图告诉用户他使用的 virtualenv 版本是否不是最新的。

但它还没有工作。任何想法 ?

virtualenv:
    if [ ! -f $(PYTHON) ]; then \
        version=`$(VIRTUALENV) --version`;\
        check="1.8.2";\
        winner=`echo -e "$${version}\n$${check}" | sed '/^$$/d' | sort -nr | head -1`;\
        if [[ "$(winner)" = "$(version)" ]]; then \
            $(VIRTUALENV) $(ROOT_DIR)/lib/virtualenv; \
        else \
            echo "Please upgrade your virtualenv>=1.8.2";\
            exit 1;\
        fi \
    fi
4

1 回答 1

4

好的,这是一个使用 $ 的 Makefile 小技巧

virtualenv:
    if [ ! -f $(PYTHON) ]; then \
        version=`$(VIRTUALENV) --version`;\
        check="1.8.2";\
        winner=`echo -e "$${version}\n$${check}" | sed '/^$$/d' | sort -nr | head -1`;\
        if [[ "$${winner}" = "$${version}" ]]; then \
            $(VIRTUALENV) $(ROOT_DIR)/lib/virtualenv; \
        else \
            echo "Please upgrade your $${version} version of virtualenv to >= 1.8.2";\
            echo "    $ sudo pip install -U distribute pip virtualenv";\
            exit 1;\
        fi \
    fi
于 2012-09-13T06:20:37.993 回答