首页 > 解决方案 > case 语句中的引用表达式匹配

问题描述

有没有办法在 case 语句的命令列表中引用表达式匹配?换句话说,而不是这样做:

case $(returns_a_string.sh) in
  foo) echo "foo" ;;
  bar) echo "bar" ;;
  *) echo "The string returned was not foo or bar" ;;
esac

我可以这样做:

case $(returns_a_string.sh) in
  foo|bar) echo "$expression_match" ;;
  *) echo "The string returned was not foo or bar" ;;
esac

标签: bashshell

解决方案


您可以$(returns_a_string.sh)先将标准输出设置为一个变量,然后再使用它。


推荐阅读