echo 3+3
मैं इस मामले में 6 में बैश में ऐसे अभिव्यक्तियों का मूल्यांकन कैसे कर सकता हूं? -बैश: गणितीय शब्द का मूल्यांकन करें?
echo 3+3
मैं इस मामले में 6 में बैश में ऐसे अभिव्यक्तियों का मूल्यांकन कैसे कर सकता हूं? -बैश: गणितीय शब्द का मूल्यांकन करें?
जैसे कि zsh/ksh जैसे गोले में, आप गणित के लिए फ्लोट का उपयोग कर सकते हैं। आप और अधिक गणित शक्ति की जरूरत है, तुम क्या करने कोशिश कर रहे हैं पर देख रहे हैं की तरह bc/awk/dc
जैसे
var=$(echo "scale=2;3.4+43.1" | bc)
var=$(awk 'BEGIN{print 3.4*43.1}')
उपकरणों का उपयोग
awk '{printf "%.2f\n",$0/59.5}' ball_dropping_times >bull_velocities
तरीकों में से बहुत सारे सबसे पोर्टेबल expr आदेश का उपयोग करने के लिए है:
expr 3 + 3
echo $((3+3))
उपयोग के रूप में expr आदेश का उपयोग कर सकते हैं:
expr 3 + 3
एक में परिणाम संग्रहीत करने के लिए वेरिएबल आप कर सकते हैं:
sum=$(expr 3 + 3)
या
sum=`expr 3 + 3`
मैं जोड़ना चाहता हूं (चूंकि यह पोस्ट स्पष्ट रूप से यूनिक्स शुरुआती लोगों के लिए है) कि आखिरी पंक्ति पर बैकटिक्स इसलिए हैं कि शेल आवंटित होने से पहले 'epr 3 + 3' का मूल्यांकन करता है। –
expr
मानक तरीका है, लेकिन यह केवल पूर्णांकों संभालती है।
$((3+3)) returns 6
((3+3)) used in conditionals, returns 0 for true (non-zero) and 1 for false
let 3+3 same as (())
let
और (())
, मान निर्दिष्ट किया जा सकता है उदाहरण के लिए:
बैश एक्सटेंशन की एक जोड़ी है, जो केवल पूर्णांक के रूप में अच्छी तरह से संभाल नहीं है
let a=3+3
((a=3+3))
चल बिन्दु के लिए आप उपयोग कर सकते bc
गूंज 3 + 3 | बीसी
हल धन्यवाद:
$ cat calc_velo.sh
#!/bin/bash
for i in `cat ball_dropping_times`
do
echo "scale=20; $i/59.5" | bc
done > ball_velocities
इसे अपने प्रश्न में डाल दें। भी, आप केवल एक अजीब कमांड का उपयोग कर सकते हैं। यह फाइलों को पार करता है, और दशमलव गणित का ख्याल रखता है। मेरा जवाब देखें – ghostdog74
आप रीडायरेक्ट ऑपरेटर '>' का उपयोग कर रहे हैं जो प्रत्येक बार गंतव्य फ़ाइल को छोटा करता है (ओवरराइट करता है)। ऐप ऑपरेटर '>>' में बदलें या 'बीसी' के बाद 'किए गए' के बाद रीडायरेक्शन डालें: 'done> ball_velocities'। –
मेरा मानना है कि ((3 + 3)) विधि सबसे तेज है क्योंकि इसका अर्थ है बाहरी बाइनरी के बजाय खोल। सबसे कुशल के लिए सभी सुझाए गए तरीकों का उपयोग करके एक बड़ा पाश समय।
* निक्स प्रक्रियाओं को बिल्कुल इस कारण के लिए बेहद हल्के और त्वरित होने के लिए डिज़ाइन किया गया है। तो बाहरी बाइनरी का उपयोग करना वास्तव में सामान्य उपयोगों के समग्र स्क्रिप्ट प्रदर्शन पर विचार करने में धीमा नहीं है। – SkyDan
सुरुचिपूर्ण, धन्यवाद। – hhh
एडब्ल्यूके के लिए एक टिप्पणी चिह्न के बारे में कोई विचार? अगर मैं अपने माप के लिए स्पष्ट रूप से निर्दिष्ट प्रारूप चाहता हूं? केवल कॉलम पढ़ना भ्रमित हो सकता है। – hhh
मुझे समझ में नहीं आता है। दिखाएं कि आपके प्रश्न में उदाहरणों का क्या मतलब है – ghostdog74