在 if 语句中使用布尔表达式?

在 if 语句中使用布尔表达式?

我想做一个 if then 语句:如果变量 i 等于 0 到 9 的正则表达式,并且如果 grep 没有返回任何结果,则执行某些操作。这是正确的语法吗?

if [[ $i =~ [0-9] ]] && if ! grep $i /opt/tftpboot/*; then

或者是

if [[ $i =~ [0-9] ]] && ! [[ grep $i /opt/tftpboot/* ]]; then

答案1

它是:

if [[ $i =~ [0-9] ]] && ! grep $i /opt/tftpboot/*; then

您可能不需要的输出grep,在这种情况下您可以执行以下操作:

if [[ $i =~ [0-9] ]] && ! grep -q $i /opt/tftpboot/*; then

相关内容