2013-05-03 19 views
14

में एक नाव नंबर जोड़ने के लिए मैं दो नंबरकैसे पूर्णांक संख्या और यूनिक्स खोल स्क्रिप्ट

मान 1 = 686

मान 2 = 228,35

मैं पूर्णांक जोड़ सकते हैं और फ्लोट करने के लिए सक्षम नहीं हूँ है। परिणाम प्राप्त करने के लिए कृपया मेरी मदद करें।

मैं इसे बैश में चला रहा हूं।

+1

ई.पू., awk, अजगर, पर्ल –

+0

संभव की डुप्लीकेट [मैं संख्याएं कैसे जोड़ सकते हैं एक बैश स्क्रिप्ट में] (http://stackoverflow.com/questions/6348902/how-can-i-add-numbers-in-a-bash-script) –

+0

कॉर्न शैल 93 फ़्लोटिंग पॉइंट का समर्थन करता है। क्या आपके पास ksh स्थापित है? – cdarke

उत्तर

17
echo 1 + 3.5 | bc 

awk "BEGIN {print 1+3.5; exit}" 

python -c "print 1+3.5" 

perl -e "print 1+3.5" 

बस अपने चर, जैसे के साथ संख्या की जगह: echo $n1 + $n2 | bc

+1

thnx अपडेट करूँगा :) बीसी भाषा मेरी लिनक्स मशीन पर मौजूद नहीं है और मुझे इसे अच्छी तरह से स्थापित करने के अधिकार नहीं हैं जो कि बड़ी समस्या थी। – sasuke

-5
#!/bin/Bash 
echo "Enter the two numbers to be added:" 
read n1 
read n2 
answer=$(($n1+$n2)) 
echo $answer 
+0

जो पूर्णांक के अतिरिक्त है। –

+2

686 + 228.35: वाक्यविन्यास त्रुटि: अमान्य अंकगणितीय ऑपरेटर (त्रुटि टोकन ".35") – sasuke

+0

आप भी उपयोग कर सकते हैं ... calc 686.0 + 228.35 – snehal

3

आप bc भाषा स्थापित किया है, तो आप निम्न कर सकते हैं:

#!bin/bash 
numone=1.234 
numtwo=0.124 
total=`echo $numone + $numtwo | bc` 
echo $total 

आप bc की जरूरत नहीं है, तो आप awk साथ की कोशिश कर सकते हैं। बस एक ही पंक्ति में:

echo 1.234 2.345 | awk '{print $1 + $2}' 

कई अन्य विकल्प भी हैं। अजगर, पर्ल, php .... जैसा

+0

मुझे निम्न त्रुटि मिल रही है:" बीसी: आदेश नहीं मिला " – sasuke

+0

' बीसी' एक भाषा है, इसलिए इसे डिफ़ॉल्ट रूप से स्थापित नहीं किया जा सकता है। कोशिश करें 'sudo apt-get bc' –

+0

स्थापित करें मुझे बीसी भाषा स्थापित करने का अधिकार नहीं है, क्या हम इसे किसी अन्य तरीके से कर सकते हैं। – sasuke

-3

कैसे नाव 100 से गुणा करके int करने के लिए परिवर्तित करने, 2 मानों को जोड़ने और परिवर्तित करने के बारे में वापस 100 से divindig द्वारा वापस?

#!/bin/Bash 
Echo "Enter the two numbers to be added:" 

read n1 
read n2 
answer=$(($n1+$n2*100)/100) 

echo $answer 
+0

क्या आपने यह भी जांच लिया है कि आपका कोड चलता है या नहीं? पाठ्यक्रम के – shookees

+0

@shookees। तुमने क्यों पूछा? – Anton

+3

कारण यह नहीं है :) – shookees

1

बैश फ्लोटिंग प्वाइंट प्रकार नहीं है, लेकिन आप bc के रूप में एक कैलकुलेटर इस तरह के प्रयोग कर सकते हैं:

a=686 
b=228.35 
c=`echo $a + $b | bc` 
echo "$c" 
संबंधित मुद्दे