if true; then
echo '1. if ~ 条件が成立したときに実行される'
fi
if false; then
echo '2. if ~ 条件が成立したときに実行される'
fi
stdout
if ~ 条件が成立しないときに実行
code
if true; then
:
else
echo '1. if ~ 条件が成立しないときに実行される'
fi
if false; then
:
else
echo '2. if ~ 条件が成立しないときに実行される'
fi
stdoutcode
# if ! ~ でコマンドの結果を反転
if ! true; then
echo 'if ~ 条件が成立したときに実行される'
else
echo 'if ~ 条件が成立しないときに実行される'
fi
stdout
if ~ コマンドが成功したときに実行
code
if date -d '2023/01/01' +'%Y/%m/%d'; then
echo 'コマンドが成功したときに実行される'
fi
stdout
if ~ コマンドが失敗したときに実行
code
# 2023/00/00 は不正な日付なので date コマンドは失敗する
if date -d '2023/00/00' +'%Y/%m/%d'; then
echo 'コマンドが成功したときに実行される'
else
echo 'コマンドが失敗したときに実行される'
fi
stdoutstderrcode
# if ! ~ でコマンドの実行結果を反転
if ! date -d '2023/00/00' +'%Y/%m/%d'; then
echo 'コマンドが失敗したときに実行される'
fi
stdoutstderr
elsif ~ 前のコマンドが失敗したときに実行
code
if false; then
echo 'if ~ のコマンドが成功したときに実行される'
elif true; then
echo 'elif のコマンドが成功したときに実行される'
else
echo 'if, elif のコマンドが失敗したときに実行される'
fi
stdoutcode
n=3
if test $n -eq 1; then
echo 'n == 1'
elif test $n -eq 2; then
echo 'n == 2'
elif test $n -eq 3; then
echo 'n == 3'
else
echo 'n != 1 and n != 2 and n != 3'
fi