2012-10-16 16 views
11

में किसी फ़ंक्शन के लौटे हुए मान को एक चर में असाइन करें, मैंने testfunction से लौटाए गए मान को मुद्रित करने का प्रयास किया। लेकिन यह कुछ भी प्रदर्शित नहीं कर रहा है। मैंने स्क्रिप्ट निष्पादित करने के लिए ./filename.sh का उपयोग किया। कृपया मददयूनिक्स शैल स्क्रिप्ट

#!/bin/ksh 
testfunction() 
{ 

k=5 

return $k 

} 

val=$(testfunction) 

echo $val 

उत्तर

26

समारोह द्वारा दिए गए मान $? में संग्रहीत किया जाता है, और $() द्वारा कब्जा कर लिया नहीं है।

दूसरे शब्दों में:

testFunction() 
{ 
    k=5 
    echo 3 
    return $k 
} 

val=$(testFunction) 
echo $? # prints 5 
echo $val # prints 3 
-2

यह ksh कार्यों काम करता है:

IPADDRESS()  # get the IP address of this host 
{ 
    # purpose: to get the IP address of this host 
    #  and return it as a character string 
    # 
    typeset -l IPADDR 
    IPADDR=$(ifconfig -a | grep inet | grep -v '127.0.0.1' | awk '{print $2}') 
    print $IPADDR 
} 

IP_Address=$(IPADDRESS) 
echo $IP_Address 
exit 
संबंधित मुद्दे