bash 中是否有相当于 PowerShell 的“Switch”的功能?

bash 中是否有相当于 PowerShell 的“Switch”的功能?

我很好奇是否有一个与 PowerShell 的“Switch”命令等效的命令,可以让您通过输入进行操作,而不是使用大量的“if 语句”

答案1

如果您要查看变量来确定流量,则需要使用语句case

case "$var" in
   val1)
      do_something
      ;;
   val2)
      do_something_else
      ;;
esac

如果您希望以交互方式获取用户输入,您还需要使用语句select

select action in proceed ponder perspire quit; do
    case "$action" in
        proceed)
           go_on_then
           ;;
        ponder)
           have_a_think
           ;;
        perspire)
           exude_salty_secretions
           ;;
        quit)
           break
           ;;
    esac
done

相关内容