LoginSignup
2

More than 5 years have passed since last update.

シェルスクリプトのテストコマンドの結果値の取得

Posted at

比較を行うなど便利なテストコマンド(testもしくは[)ですが、返却値を取得しようとして少しはまりました。
ifで使うときには考えてなかったことなのでメモしておきます。

export HOGE=`[ $FUGA == $BUZZ ]`
echo $HOGE
#何も出てこない!

テストコマンドは返却値を返すわけではなく、終了ステータスで結果を表していました。
なので以下のようにすれば取れました。

export HOGE=`[ $FUGA == $BUZZ ]; echo $?`
echo $HOGE
#0もしくは1!

$?は直前のコマンドの終了ステータスが入ってます。)

とりあえずは取れましたが、もう少しいい方法があるような気が…

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2