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 (94d)