ifの後にコマンド実行して判定

ifの後にコマンド実行して判定

 if echo "123" | grep "2" > /dev/null; then
   echo "FOUND"
 else
   echo "NOT FOUND"
 fi
 
   => FOUND
 if echo "123" | grep "4" > /dev/null; then
   echo "FOUND"
 else
   echo "NOT FOUND"
 fi
  
   => NOT FOUND
  • ifの後のコマンド(ここでは echo "123" | grep "2" > /dev/null)が終了コード0を返すので、ifが通る。

コマンド実行した後に終了コードをifで判定

 echo "123" | grep "2" > /dev/null
 
 if [ $? -eq 0 ]; then
   echo "FOUND"
 else
   echo "NOT FOUND"
 fi
  
   => FOUND

ifの後の条件判定を逆にする(偽を通す)

 if echo "123" | grep "4" > /dev/null; [ $? -ne 0 ]; then
   echo "NOT FOUND"
 fi
 
   => NOT FOUND

Bashの否定演算子 ! を使う

 if ! echo "123" | grep "4" > /dev/null; then
   echo "NOT FOUND"
 fi
 
   => NOT FOUND

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2018-05-16 (水) 04:39:53