分页: 1 / 1

bash shell的if语句如何使用多个判断

发表于 : 2012-02-17 8:14
thlgood
现在我的目的是这样的,当$imageName同时不在waiting和history这两个文件的时候逻辑为真。
我的代码是这样写的

代码: 全选

if grep -qv $imageName waiting && grep -qv $imageName history; then
        ……
else
        ……
fi
:em05 为何这样不行? 正确的写法该怎么写?

Re: bash shell的if语句如何使用多个判断

发表于 : 2012-02-17 13:10
thlgood
我已经找到解决办法了。

代码: 全选

if ! ( grep -q $lines scanHistory || grep -q $lines waiting ) ; then
        ....
fi

Re: bash shell的if语句如何使用多个判断

发表于 : 2012-02-20 15:36
Think1st
我使用两个都可以。我是bash 4.1版本。
这个也可以。

代码: 全选

  
  7 if [[ `grep -qv $imageName file1 ` && `grep -qv $imageName file2` ]] ; then
  8         echo haha;
  9 else
 10         echo hoho;
 11 fi                                                                         


Re: bash shell的if语句如何使用多个判断

发表于 : 2012-02-20 15:48
eexpress
[] && xxx || yyy
一样,还简洁。

Re: bash shell的if语句如何使用多个判断

发表于 : 2012-02-22 19:00
aerofox
再来一个:

代码: 全选

if cat waiting history | grep -qv $imageName; then
        ……
else
        ……
fi