比較を行うなど便利なテストコマンド(test
もしくは[
)ですが、返却値を取得しようとして少しはまりました。
if
で使うときには考えてなかったことなのでメモしておきます。
export HOGE=`[ $FUGA == $BUZZ ]`
echo $HOGE
#何も出てこない!
テストコマンドは返却値を返すわけではなく、終了ステータスで結果を表していました。
なので以下のようにすれば取れました。
export HOGE=`[ $FUGA == $BUZZ ]; echo $?`
echo $HOGE
#0もしくは1!
($?
は直前のコマンドの終了ステータスが入ってます。)
とりあえずは取れましたが、もう少しいい方法があるような気が…