2013-11-04 54 views
0

我有一个非常简单的问题,我无法回答。在外壳,你会下面命令:这个shell测试实现了什么

test -d $VIRTUAL_ENV || virtualenv $VIRTUAL_ENV 

好像它测试,如果的virtualenv目录存在,但我不明白利用这些信息做什么如果。之后会不会创建virtualenv,还是只有在它不存在的情况下才会这样做?

回答

3

||是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 
1

它测试,如果该目录$VIRTUAL_ENV存在,否则创建它使用virtualenv