लगभग हर जगह मैंने पढ़ा है, जिसमें Google की बैश स्क्रिप्टिंग शैली मार्गदर्शिका उद्धरण आदेश प्रतिस्थापन (विशेष रूप से निश्चित रूप से वांछित होने के अलावा) की आवश्यकता के अनुसार उल्लेख किया गया है।क्या बैश में परिवर्तनीय असाइनमेंट के दौरान कमांड प्रतिस्थापन उद्धृत करना आवश्यक है?
मैं सामान्य उपयोग के दौरान कमांड प्रतिस्थापन उद्धृत करने के समय/कहां/क्यों समझता हूं। उदाहरण के लिए: echo "$(cat <<< "* useless string *")"
बल्कि echo $(...)
से
, मैं इतने सारे उदाहरण इस तरह के रूप में देखा है: variable="$(command)"
अभी तक मैं कोई उदाहरण जहां variable=$(command)
बराबर नहीं है मिल गया है।
variable="$(echo "*")"
और variable=$(echo "*")
दोनों मूल्य '*' पर सेट करते हैं।
कोई भी ऐसी स्थितियों को दे सकता है जहां परिवर्तनीय आकलन के दौरान प्रतिस्थापन को छोड़कर वास्तव में समस्या हो सकती है?
अच्छा सवाल! मैंने कई परीक्षण किए और ऐसा लगता है कि वे बिल्कुल वही हैं, कोई फर्क नहीं पड़ता। – fedorqui
मुझे लगता है कि वह जिस मुद्दे के बारे में पूछ रहा है वह $ cmd, $ {cmd} के साथ हो सकता है। प्रतिस्थापन में और अगर खंड में, हमें वहां "" आवश्यकता है। अगर मैं गलत हूं तो कृपया सही करें –