如何使用Unix中的If语句检查目录中的多个文件

时间:2016-08-11 15:22:19

标签: linux bash shell

我正在尝试在一个目录中查找2个文件,如果它们都存在,我需要回应“Bravo”,否则“你输了”但我被困在这里。如果第一个文件存在而第二个文件没有,我得到“你输了”但是如果第一个文件不存在且第二个文件存在我得到“Bravo”。以下是我的代码。有人请帮助我。

 find /var/tmp/crontab -name crontest|grep crontest
 if [ "$?" eq 0 ]; then
     find /var/tmp/crontab -name cronjob|grep cronjob
     if [ "$?" -eq 0 ]; then        
         echo "Bravo"
     else
         echo "You lost"
     fi
 fi

2 个答案:

答案 0 :(得分:2)

不需要findgrep - 您可以使用bash内置函数更简单地执行此操作,例如

if [ -e /var/tmp/crontab/crontest ] && [ -e /var/tmp/crontab/cronjob ] ; then 
    echo "Bravo"
else
    echo "You lost"
fi

答案 1 :(得分:0)

你可以使用一个衬垫。

[ -f /var/tmp/crontab/crontest -a -f /var/tmp/crontab/crontest2 ] &&  \ 
echo "bravo" || echo "lost"