如何简化这个bash shell代码

thl*_*ood 0 regex bash shell grep if-statement

这是我的代码

if  grep -q $lines scanHistory;then
    echo -n ''
else
    if grep -q $lines waiting;then
        echo -n ''
    else
        Download $lines
        echo "---$lines was download successfully"
    fi
fi
Run Code Online (Sandbox Code Playgroud)

我的purpoes是在scanHistory和等待中都找不到$ line,然后运行Download.

我不得不尽量让这段代码更simplily,写,如果作为

如果grep -qv $ lines scanHistory && grep -qv $ lines waiting; 然后

....

但是失败了....

Wil*_*ell 5

尝试:

if ! grep -q $lines scanHistory && ! grep -q $lines waiting; then ...

使用grep -v的初始尝试失败,因为如果输入的任何行与模式不匹配,grep -v会成功.