मैंने विभिन्न तरीकों को देखा है जिसमें जेनकींस घोषणात्मक पाइपलाइनों में चर का संदर्भ दिया जाता है। मैं जानना चाहता हूं कि निम्नलिखित तरीकों में कोई अंतर है जिसमें एक चर का संदर्भ दिया जा सकता है?
${env.VAR}
${VAR}
$VAR
1 उत्तर
"${VAR}"
और "$VAR"
बराबर हैं। आप वेरिएबल नाम को बाकी स्ट्रिंग से अलग करने के लिए घुंघराले ब्रेसिज़ का उपयोग करते हैं, जिसमें आप वेरिएबल को इंटरपोल कर रहे हैं, यह सुनिश्चित करने के लिए कि इंटरप्रेटर वेरिएबल के नाम के रूप में जितना आप चाहते हैं उससे अधिक नहीं पढ़ेगा। देखें http://docs.groovy-lang.org/latest/html/ दस्तावेज़ीकरण/#_string_interpolation विवरण के लिए। मुझे इसका प्रदर्शन करने दो।
निम्नलिखित स्निपेट पर विचार करें:
VAR="foo"
"$VARbar"
यह त्रुटिपूर्ण होगा क्योंकि VARbar
इस दायरे में मान्य चर नहीं है।
लेकिन अगर आप कोशिश करते हैं:
VAR="foo"
"${VAR}bar"
, तो आपको अपेक्षित परिणाम के रूप में "foobar" मिलता है।
अब env.VAR
फॉर्म के लिए मुझे अभी भी इस बात का निर्णायक सबूत नहीं मिला कि अंतर क्या है। मैं सोच रहा हूं कि जेनकिंस स्वचालित रूप से सभी वैश्विक चरों को ईएनवी चर के रूप में मानते हैं, मेक और बैश स्क्रिप्ट कैसे काम करते हैं, लेकिन मुझे इस व्यवहार के लिए एक वास्तविक संदर्भ देखना अच्छा लगेगा। ~ मैं इसे पूरी तरह से परखने के लिए बहुत आलसी हूँ।~