私の条件がtrueの場合、bashスクリプトで複数のコマンドをどのように実行しますか?

私の条件がtrueの場合、bashスクリプトで複数のコマンドをどのように実行しますか?
a=Y
b=Y
c=Y


if condition like $a=='y' then execute all this statements******  
cat *.tar.gz | tar -xzvf - -i  
echo "5"  
tar -xvf *.tar.gz   
echo "9"  
rm -rf *.tar.gz  

elif($b=='y') condition ***   
cp $source $destination  
cp $source/conf/* $destination/conf

else (**** )
some commands

答え1

- 陳述書の標準形式は次ifのとおりです。

if condition; then
    action
    action
    ...
elif condition; then
    action
    action
    ...
else
    action
    action
    ...
fi

ここで、elifANDelse分岐はオプションであり、複数の分岐がある場合がelifあります。

あなたの場合:

if [ "$a" = "y" ]; then
    cat *.tar.gz | tar -xzvf - -i  
    echo "5"  
    tar -xvf *.tar.gz   
    echo "9"  
    rm -rf *.tar.gz
elif [ "$b" = "y" ]; then
    cp "$source" "$destination"  
    cp "$source"/conf/* "$destination"/conf   
else
    some commands
fi

ここで実行したい実際のコマンドとそれが意味があるかどうかは見ていません。

関連情報