बैश 4.3.30
मान लें कि आपके पास निम्नलिखित कोड है:
#!/bin/bash
declare -A map
f() {
map[x]=a
map[y]=b
}
g() {
for k in "${!map[@]}"
do
echo "$k --> ${map[$k]}"
done
}
f
g
यह आउटपुट
x --> a
y --> b
अगर मैं उपर्युक्त कार्यक्रम को बदलूं f | g
यह कुछ भी नहीं है।
मुझे लगता है कि वैश्विक दायरे में साहचर्य सरणी की घोषणा करने से मुझे अपने मूल्यों को कभी भी और कहीं भी उपयोग करने की अनुमति मिलेगी। मैंने पाइपलाइन और स्कोप के साथ अजीब समस्याओं के बारे में पढ़ा है लेकिन मैं एक समाधान का पता लगाने में असमर्थ रहा हूं।
cat file.txt | f; g
इसलियेf
कुछ इनपुट की जरूरत है?g
उस मामले में कुछ भी नहीं आउटपुट।