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

如何在Bash脚本中提取指定内容适配Jenkins choiceParam下拉列表

提取指定SQL条目名称的Bash命令修改方案

下面给你两种简单直接的修改方式,能快速拿到冒号前的名称:

方法1:grep + cut 组合命令

先过滤出所有以sql开头的行,再截取冒号前的内容:

grep "^sql" 你的文件名 | cut -d: -f1
  • grep "^sql":只保留行首是sql的条目,过滤掉其他无关行
  • cut -d: -f1:把每行按冒号:拆分,只取第一部分(也就是不带版本的名称)

方法2:awk 单命令处理

用awk一步完成过滤和提取,比组合命令更高效:

awk '/^sql/ {print $1}' FS=":" 你的文件名
  • /^sql/:匹配行首为sql的行
  • FS=":":指定以冒号作为内容的分隔符
  • print $1:输出分隔后的第一个字段(即冒号前的名称)

适配Jenkins Pipeline的示例

把提取到的名称数组直接用到choiceParam里:

// 先通过shell命令拿到所有SQL模块名称
def sqlModuleNames = sh(
    script: 'grep "^sql" 你的文件名 | cut -d: -f1',
    returnStdout: true
).trim().split('\n')

pipeline {
    agent any
    parameters {
        choiceParam(
            name: 'SELECT_SQL_MODULE',
            choices: sqlModuleNames,
            description: '请选择要操作的SQL模块'
        )
    }
    stages {
        stage('示例步骤') {
            steps {
                echo "你选择的模块是:${params.SELECT_SQL_MODULE}"
            }
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:55:14