एक शून्य coalescing फैशन में एक शेल चर सेट करना


20

मैं वास्तव में "अशक्त coलेसिंग" का शौकीन हूं, जहां आप चीजों की सूची में पहले "नॉन-नल" मान के लिए एक चर सेट कर सकते हैं। कई भाषाएं इसका समर्थन करती हैं, उदाहरण के लिए:

सी#:

String myStr = string1 ?? string2 ?? "default";

जावास्क्रिप्ट:

var myStr = string1 || string2 || "default";

...आदि। मैं बस उत्सुक हूँ अगर यह एक चर सेट करने के लिए बैश में किया जा सकता है?

छद्म:

MY_STR=$ENV{VAR_NAME}??$ANOTHER_VAR??"default";

जवाबों:


29

POSIX शेल (जिसमें शामिल है bash) समतुल्य होगा:

${FOO:-${BAR:-default}}

इसे भी देखें:

${FOO-${BAR-default}}

वैरिएंट जो यह जाँचता है कि क्या चर सेट है या नहीं इसके बजाय यह खाली स्ट्रिंग को हल करता है या नहीं (जो उन मामलों में फर्क करता है जहां एक चर सेट है लेकिन खाली है)।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.