मैं निम्न के समान एक bash स्क्रिप्ट है: परीक्षण समारोह एक उप खोल में चलाया जाता हैएक माता पिता के खोल और बच्चे के बीच एक ही पार्टी चर का उपयोग कैसे करें शैल
function test
{
running=$(($running - 1))
}
running=0
test &
echo $running
क्योंकि यह प्रभावित नहीं करता है चल रहे चर और मुझे स्क्रीन पर प्रतिबिंबित 0 मिलता है। माता-पिता के गोले चर बदलने में सक्षम होने के लिए मुझे उप खोल की आवश्यकता है, यह कैसे किया जा सकता है? मैंने निर्यात करने की कोशिश की है लेकिन इसका कोई फायदा नहीं हुआ है।
संपादित करें सभी सहायक उत्तरों के लिए धन्यवाद, कारण मैं पृष्ठभूमि में इस फ़ंक्शन को चलाने का कारण एक साथ कई कार्यों को चलाने की अनुमति देना है। जब सभी कार्यों को समाप्त कर दिया जाता है तो मुझे यह बताने के लिए अभिभावक स्क्रिप्ट पर वापस कॉल करने में सक्षम होना चाहिए। मैं ऐसा करने के लिए पिड्स का उपयोग कर रहा था लेकिन मुझे यह जांचना पसंद नहीं है कि लूप में कई प्रक्रियाएं लगातार जीवित हैं या नहीं।
आम तौर पर यह नहीं किया जा सकता है। आप सबहेल में फ़ंक्शन क्यों चला रहे हैं? और पृष्ठभूमि में? यदि आप हमें बताते हैं कि आप क्या करने की कोशिश कर रहे हैं तो हम आपकी मदद करने में सक्षम होंगे। – thkala
दरअसल, आप "डाउन" निर्यात करते हैं, लेकिन "ऊपर" नहीं। इस मामले में '& 'को हटाने में मदद मिलेगी, लेकिन मुझे विश्वास है कि आपको इसे पृष्ठभूमि में चलाने की ज़रूरत है, अगर इसे रखा जाए। – khachik
'((चल रहा है))' या '((--running))' –