2016-08-11 9 views
1

ディレクトリ内の2つのファイルを検索しようとしていますが、両方とも存在する場合は、 "Bravo"ここにこだわっている。 1番目のファイルが存在し、2番目のファイルが存在しない場合、1番目のファイルが存在せず2番目のファイルが存在する場合は "失われています"というメッセージが表示されます。以下は私のコードです。誰か助けてください。UnixのIf文を使用してディレクトリ内の複数のファイルをチェックする方法

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

findは必要ない、grep - あなただけのbashで、より簡単にそれをたくさん行うことができます組み込み関数、例えば

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

ブラボー!!!それは天才でした! – CodeX

0

これには1本のライナーを使用できます。

[ -f /var/tmp/crontab/crontest -a -f /var/tmp/crontab/crontest2 ] && \ 
echo "bravo" || echo "lost" 
関連する問題