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

Bash For循环中编写变量包含与长度判断If条件方法

Bash脚本循环内条件判断实现

校验规则

  • 规则1:校验变量var中是否包含变量value的内容
  • 规则2:校验变量var的字符总长度是否大于113469
  • 触发逻辑:两项条件同时满足时,打印var变量的最后20个字符,即为所求答案

核心实现逻辑

直接在循环内var完成base64编码更新后做判断,全部使用Bash原生语法实现,无需调用外部工具:

  • 字符串包含判断:使用[[ $var == *"$value"* ]]语法,通配符*匹配任意前后字符,即可判断子串存在
  • 字符长度判断:使用${#var}直接获取变量的字符长度,通过数值比较运算符-gt判断是否大于阈值
  • 尾部字符截取:使用${var: -20}语法直接截取变量最后20位字符,注意冒号和负号之间需要保留空格
  • 拿到结果后直接跳出循环,避免无意义的后续迭代

完整脚本代码

#!/bin/bash
        
var="8dm7KsjU28B7v621Jls"         
value="ERmFRMVZ0U2paTlJYTkxDZz09Cg"
    
for i in {1..40}    
do    
    var=$(echo "$var" | base64)
    
    if [[ $var == *"$value"* ]] && [[ ${#var} -gt 113469 ]]; then
        echo "${var: -20}"
        break
    fi
done

内容的提问来源于stack exchange,提问作者NT-ML

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:57:18