2012-11-27 103 views
1

任何人都可以告訴我會出現什麼問題?我知道這是一個半秒的問題,但請幫助:) egrep "first" a.sh && egrep "second" a.sh工程,a.sh包含第一,第二,第三等。2 grep in if語句

if [[ egrep "first" a.sh && egrep "second" a.sh ]]; then 
echo "success" 
fi 
+0

不知道,只是找到一個例子。不會沒有太多的工作,不是-n是問題 – Smithis

回答

1

我想這可能是你在找什麼做:

found_1=$(egrep "first" a.sh) 
found_2=$(egrep "second" a.sh) 

if [[ -n "$found_1" ]] && [[ -n "$found_2" ]]; then 
    echo "success" 
fi 
+0

big thx!yes是 – Smithis

+1

您只需要檢查退出狀態:'egrep -q first a.sh; RC1 = $ ?; egrep -q second a.sh; RC2 = $ ?; ((rc1 == 0 && rc2 == 0)); ...'但這就是'if egrep -q first a.sh && egrep -q second a.sh; ''確實 –

8

你的問題是你正在使用[[命令。只使用greps。

if egrep ... && egrep ... ; then 
+0

aahh :)很酷! thx尋求幫助 – Smithis

+0

將'-q'加入grep命令以提高效率 –