Bash条件文でカスタムテスト機能を使用する

Bash条件文でカスタムテスト機能を使用する

orをnumeric返すbashという関数があります。10

numeric ()
{
  # compute k either 1 or 0
  echo "$k"
}

var変数が数値であることを確認するために、条件文でこの関数をどのように使用できますか?

答え1

シェル条件式の文脈では、戻り値は0「成功」または「true」を意味し、ゼロ以外の値は「失敗」または「false」を意味します0。引数は数値です。

「条件文」が構文であると仮定ifすると、次のことが機能します。

if numeric "$var"
then
   # Code if $var is numeric
else
   echo "$var is not numeric"
fi

答え2

返品利用

numeric ()
{
  # compute k either 1 or 0 || return 1
  echo "$k"
  return 0
}

numeric || exit 1

関連情報