我有一个非常简单的问题,我无法回答。在 shell 中,这个命令会做什么:
test -d $VIRTUAL_ENV || virtualenv $VIRTUAL_ENV
似乎它测试了 virtualenv 目录是否存在,但我不明白如果该信息如何处理。之后它总是会创建 virtualenv,还是只会在它不存在时才这样做?
我有一个非常简单的问题,我无法回答。在 shell 中,这个命令会做什么:
test -d $VIRTUAL_ENV || virtualenv $VIRTUAL_ENV
似乎它测试了 virtualenv 目录是否存在,但我不明白如果该信息如何处理。之后它总是会创建 virtualenv,还是只会在它不存在时才这样做?
是||
OR 条件。因此,这将测试$VIRTUAL_ENV
目录是否存在。如果没有,它将运行virtualenv $VIRTUAL_ENV
.
其他示例:
$ test -d /tmp || echo "yes"
$
$ test -d /tmpblabla || echo "this dir does not exist"
this dir does not exist
$ test -d /tmp && echo "/tmp exists" || echo "yes"
/tmp exists
它测试目录是否$VIRTUAL_ENV
存在,否则使用virtualenv