这个shell测试实现了什么?

时间:2013-11-04 13:33:27

标签: bash shell virtualenv

我有一个非常简单的问题,我无法回答。在shell中,这个命令会做什么:

test -d $VIRTUAL_ENV || virtualenv $VIRTUAL_ENV

似乎它测试virtualenv目录是否存在,但我不明白该信息是做什么的。它会不会随后创建virtualenv,或者它只会在它不存在的情况下才会创建它?

2 个答案:

答案 0 :(得分: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 :(得分:1)

它测试目录$VIRTUAL_ENV是否存在,否则使用virtualenv

创建目录