gpt4 book ai didi

bash - 是否可以在 Bash 脚本的 switch case 中组合两个条件?

转载 作者:行者123 更新时间:2023-12-04 16:17:04 24 4
gpt4 key购买 nike

假设我想读取两个输入,比如 x 和 y。根据它们的值,我想在 Bash 脚本中执行 switch case。
说 4 种输入组合是

  • x=0 , y=0 ,
  • x=0 , y=1 ,
  • x=1 , y=0 ,
  • x=1 , y=1 .

  • 但我不知道如何使用脚本来做到这一点。我已经尝试过代码,但它得到了语法错误。是否可以在 Bash 脚本的 switch case 中组合两个条件?
    echo "enter x"
    read x

    echo "enter y"
    read y

    case "$x" "$y" in
    "zero" "zero") echo "condtion 1"
    ;;
    "zero" "one") echo "conditon 2"
    ;;
    "one" "zero" ) echo "condition 3"
    ;;
    "one" "one") echo "condition 4"
    ;;
    esac

    最佳答案

    你可以想到$x$y作为二进制数。

    #! /bin/bash

    read -p 'enter x: ' x
    read -p 'enter y: ' y

    case $((2#$x$y)) in
    0) echo 'condition 1';;
    1) echo 'condition 2';;
    2) echo 'condition 3';;
    3) echo 'condition 4';;
    esac
    这最多适用于 64 种不同的状态:
    $ echo $((64#11))
    65

    关于bash - 是否可以在 Bash 脚本的 switch case 中组合两个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69070662/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com