/ / खाली चर जब निर्यात का उपयोग करके पृष्ठभूमि पर भेजते हैं - बैश, फॉर-लूप, पृष्ठभूमि

निर्यात - बैश, फॉर-लूप, पृष्ठभूमि का उपयोग कर पृष्ठभूमि में भेजें जब खाली चर

मैं mysql से साइटमैप बना रहा हूं और चीजों को गति देने के लिए मैं अपने फंक्शन को बैकग्राउंड में भेजना चाहता हूं। जब मैं ऐसा करता हूं, तो। "$SITEMAP" चर खाली दिखाई देता है।

मैंने कोशिश की निर्यात निर्यात कर रहा है SITEMAP="$SITEMAP"

for ((i=0; i<CNT; i++)); do
xml() {
...
export SITEMAP="$SITEMAP"
}
xml &
echo -e "$SITEMAP"
done

पुनश्च: "xml" फ़ंक्शन को पृष्ठभूमि में भेजने के बिना, स्क्रिप्ट काम करता है सही ढंग से।

उत्तर:

उत्तर № 1 के लिए 1

क्योंकि बैकग्राउंड शेल एक अलग प्रक्रिया है। बाकी समझाया जाता है उदा। यहाँ.


उत्तर № 2 के लिए 1

जब तुमने फोन किया

 xml &

आप एक अलग प्रक्रिया शुरू करते हैं, फिर export केवल उत्तरार्द्ध के प्रवर्तन में मान्य है।

हटाए & और यह काम करेगा