2013-07-10 6 views
8

है, मैं जेनकिंस पर्यावरण चर के लिए एक मान निर्दिष्ट करने की कोशिश कर रहा हूं (जैसा कि जेनकिन्स प्रबंधित करें -> सिस्टम स्क्रीन कॉन्फ़िगर करें "शीर्षक" वैश्विक गुण "के अंतर्गत) जिसमें एक जगह है। मैं निष्पादन शैल बिल्ड चरण में इस पर्यावरण चर का उपयोग करना चाहता हूं। विकल्प है कि मैं निर्माण कदम में आदेश पंक्ति में प्रदर्शित करने की आवश्यकता है:जेनकिंस पर्यावरण परिवर्तक के लिए एक मान निर्दिष्ट करने के लिए जिसमें एक स्पेस

--platform="Windows 7" 

वाक्य रचना मैं कमांड लाइन पर उपयोग कर रहा हूँ --platform=${VARIABLE_NAME}

है कोई फर्क नहीं पड़ता कि कैसे मैं यह फ़ॉर्मेट करने के लिए प्रयास करते हैं, जेनकींस लगता है इसे दोबारा सुधारने के लिए ताकि इसे दो मानों के रूप में माना जा सके। मैंने कोशिश की है:

  • विंडोज 7
  • "विंडोज 7"
  • 'विंडोज 7'
  • Windows \ 7

इसी परिणाम, जब कदम शैल निर्माण पर अमल के दौरान उत्पादन रहे हैं:

  • --platform = विंडोज 7
  • '--platform = "विंडोज' '7"'
  • '--platform =' \ '' विंडोज '' 7 '\' ''
  • --platform = विंडोज़/7

मैंने अपने कमांड लाइन सिंटैक्स को --platform='${VARIABLE_NAME}' के साथ-साथ '--platform=${VARIABLE_NAME}' में बदलने का भी प्रयास किया है, लेकिन उन सभी मामलों में ${VARIABLE_NAME} बिल्कुल हल नहीं किया गया है और परिणामस्वरूप कमांड पर ${VARIABLE_NAME} के रूप में दिखाई देता है।

मुझे उम्मीद है कि यह काम करने का एक तरीका है। किसी भी सुझाव की सराहना की जाती है।

उत्तर

6

आप वैश्विक गुण अनुभाग में किसी विशेष वर्ण के बिना रिक्त स्थान का उपयोग करने में सक्षम होना चाहिए।

उदाहरण के लिए, मैंने "THAS_VAL" मान को "स्पेस" मान रखने के लिए एक चर सेट किया है।

#!/bin/bash 
set +v 
echo ${THIS_VAL} 
echo "${THIS_VAL}" 
echo $THIS_VAL 

और आउटपुट

[workspace] $ /bin/bash /tmp/hudson8126983335734936805.sh 
HAS SPACES 
HAS SPACES 
HAS SPACES 
Finished: SUCCESS 

मुझे लगता है कि आप का उपयोग किया गया था है निम्नलिखित क्या करने की जरूरत:

--platform="${VARIABLE_NAME}" 

मेरा परीक्षण का निर्माण काम निम्नलिखित था नोट: डबल उद्धरण का उपयोग करें, एकल क्यू नहीं यूट्स। सिंगल कोट्स का उपयोग करके उद्धरणों के भीतर सामान को शाब्दिक बनाता है, जिसका अर्थ यह है कि किसी भी चर को मुद्रित किया जाएगा, वास्तविक मूल्य में पार्स नहीं किया गया है। इसलिए '$ {VARIABLE_NAME}' प्रिंट किया जाएगा जैसा कि "विंडोज 7" में पार्स नहीं किया गया है।


संपादित करें:

--platform="$VARIABLE_NAME" 

नोट:: नीचे @BobSilverberg टिप्पणी के आधार पर, निम्न का उपयोग कर कोई कर्ली कोष्ठक।

+1

धन्यवाद सागर। मैंने जिन सभी संयोजनों की कोशिश की, उनमें से एक नहीं था। यह काम खत्म हो गया, लेकिन मुझे '--platform =" $ VARIABLE_NAME "' निर्दिष्ट करना था। अगर मैंने '--platform =" $ {VARIABLE_NAME} "का उपयोग किया है, तो उसने वहां कुछ अतिरिक्त उद्धरण छीन दिए हैं, इसलिए परिणाम' --platform = '\' 'विंडोज 7' \ '' ''' था। – BobSilverberg

+0

बढ़िया! मैं जवाब में सुधार पोस्ट करूंगा। धन्यवाद! – Sagar

संबंधित मुद्दे

 संबंधित मुद्दे