You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于数据列表首字符批量声明布尔变量的实现方法

解决方案:基于首字母生成布尔变量并检查存在性

我来帮你搞定这个需求!下面是一个bash脚本示例,完美匹配你的要求——遍历输入列表、生成对应首字母的布尔变量,还能轻松检查指定字母是否有对应的项:

#!/bin/bash

# 初始化默认布尔变量:不存在的字母默认设为false
A=false
B=false
C=false

# 目标处理列表(可替换成任意需要的列表)
input_items=("A1" "A2" "A4" "B3" "B5")

# 遍历列表,更新对应首字母的变量状态
for item in "${input_items[@]}"; do
    # 提取当前项的首字符
    first_char=${item:0:1}
    # 根据首字符切换对应变量为true
    case $first_char in
        A) A=true ;;
        B) B=true ;;
        C) C=true ;;
        # 后续要支持更多字母的话,在这里加对应的case分支就行
    esac
done

# 定义检查函数:传入字母,返回是否存在以该字母开头的项
check_exists() {
    local letter=$1
    # 用变量间接引用获取对应字母的状态值
    local var_status=${!letter}
    echo "$var_status"
}

# 测试示例:输出各字母的检查结果
echo "A存在吗?$(check_exists A)"
echo "B存在吗?$(check_exists B)"
echo "C存在吗?$(check_exists C)"

脚本逻辑拆解:

  • 初始状态设置:先把A、B、C默认设为false,刚好对应“无对应项则为false”的要求
  • 遍历处理:循环每一个输入项,通过${item:0:1}提取首字符,再用case语句匹配首字母,把对应变量更新为true
  • 检查函数:check_exists函数通过变量间接引用快速获取目标字母的状态,调用时只需要传入字母就能得到结果

使用小提示:

  1. 直接修改input_items数组就能替换成你要处理的实际列表
  2. 如果需要支持D、E这类更多字母,只需要在初始化部分加对应变量,再在case里添分支即可
  3. 调用check_exists时,传入大写字母(比如check_exists A)就能直接拿到结果

内容的提问来源于stack exchange,提问作者Gary Winhoven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:07:11