循環變量不會傳遞給 Jenkins 中的 shell 腳本

尤里

我正在嘗試將循環變量傳遞給 shell 腳本,但我的 shell 腳本獲取了一個空變量值

pipeline {
 agent any     
  stages {     
   stage('Test') {     
    steps {                 
     script {
      elements = ['1', '2', '3', '4']
      for (String val in elements){
       echo val
       check = sh (script: """bash ./check_access/check.sh ${val}""", returnStdout: true).trim()                            
       echo "check: ${check}"                          
      }
     }
    }
   }
  }
}

./check_access/check.sh

#!/bin/sh
echo "val: $val"

我得到的結果

18:13:30  1
18:13:31  + bash ./check_access/check.sh 1
18:13:31  check: val:
.
.
.
18:13:31  4
18:13:32  + bash ./check_access/check.sh 4
18:13:32  check: val:

想要的結果

bash ./check_access/check.sh 1
check: val: 1
.
.
.
bash ./check_access/check.sh 4
check: val: 4

能否請你幫忙

尤里

解決方案:我val作為第一個參數傳遞給我的腳本。所以我應該$1在腳本內部使用,而不是$val

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

無法在 shell 腳本的 gremlin 查詢中傳遞變量

如何從腳本在 xpath 中傳遞變量?

如何在spark中將雙大括號從shell腳本傳遞到python腳本?

將非文字腳本變量傳遞給 PowerShell 中的 Invoke-Sqlcmd 時出錯

無法將 Env 變量傳遞給 azure 管道 yaml 中的 powershell 腳本(非內聯)

如何在 Shell 腳本中傳遞命名參數

Jenkins 腳本化管道嵌套環境變量

Jenkins 腳本化管道環境變量

無法使用“查找”在 shell 腳本中設置變量

用於循環的 shell 腳本中的多個條件

在 Jenkins 管道代碼中通過 shell 腳本運行時找不到 SQL 命令

遞歸打印變量值的Shell腳本

如何僅從 Shell 腳本中的變量返回整數並丟棄字母和前導零?

Shell腳本從TXT讀取行並分配給env變量?

在使用特殊變量 $1, $# 的 bash 腳本中創建一個 bash 腳本

如何在shell腳本中組合exec命令

shell 腳本中的標題列驗證

在 Shell 腳本中匹配列和行

如何在 shell 腳本中運行 sacct 命令

Pine 腳本中的變量賦值

Terraform:如何將變量傳遞給 user_data init 腳本

如何將變量傳遞給驅動程序執行腳本?

Powershell - 如何將變量傳遞給腳本塊

Jenkins 和 Shell 腳本 - 無法更改日期時間值

將 PowerShell 命令結果分配給批處理腳本中的變量

我需要在腳本執行結束時更新 shell 腳本中的源配置文件

在bash中創建一個循環腳本,其中增加2個變量,第二個根據第一個變量

如何在不發送變量值的情況下從另一個腳本編寫腳本中的變量?

如何使用 Chef 配方通過讀取 Shell 腳本來設置環境變量?