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

関連情報