bash で直前のコマンドに返し値によって分岐させる

muramatsu 13views 更新:2016年9月14日

bash において直前のコマンドが返し値0or1によって分岐させることできます。 $? という変数にはその直前の返し値が格納されています if 条件式はそもそも 0 or 1 の判定によって分岐させているので条件式にコマンドを入れることも可能です(そもそも[]という条件式自体がtestというコマンドの略式みたいな感じなのでこういうことが出来る感じです)

if grep "hogehoge" ファイル名 ;then
echo 0
else
echo 1
fi

とやれば

grep "hogeohoge" ファイル名
if [ $? -eq 0 ]; then
echo 0
else
echo 1
fi

と同じという感じです

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません