Linux Bash 中的条件代码块

Linux Bash 中的条件代码块

几乎每个人都知道非常有用的 && 和 || 运算符,例如:

rm myf && echo "File is removed successfully" || echo "File is not removed"

我有一个问题:如何在不使用该函数的情况下将一组命令放在 && 或 || 运算符之后?

例如我想要做:

rm myf && \
  echo "File is removed successfully" \
  echo "another command executed when rm was successful" || \
  echo "File is not removed" \
  echo "another command executed when rm was NOT successful"

该脚本的正确语法是什么?

答案1

rm myf && {
  echo "File is removed successfully" 
  echo "another command executed when rm was successful"
} || {
  echo "File is not removed" 
  echo "another command executed when rm was NOT successful"
}

或更好

if  rm myf ; then
      echo "File is removed successfully" 
      echo "another command executed when rm was successful"
else
      echo "File is not removed" 
      echo "another command executed when rm was NOT successful"
fi

相关内容