كيفية تنفيذ الأساسية الحساب من يونكس csh/tcsh قذيفة
سؤال
تحت ويندوز ، عندما كنت في حاجة إلى إجراء العمليات الحسابية الأساسية ، واستخدام المدمج في آلة حاسبة.الآن أود معرفة ما هي الطريقة الشائعة إذا كان لديك فقط قذيفة.
شكرا
المحلول
ويمكنك دائما استخدام مترجم الثعبان، انها تدرج عادة في توزيعات لينكس.
http://docs.python.org /tutorial/introduction.html#using-python-as-a-calculator
$ python
Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)]
Type "help", "copyright", "credits" or "license" for more information.
>>> 2+2
4
>>> # This is a comment
... 2+2
4
>>> 2+2 # and a comment on the same line as code
4
>>> (50-5*6)/4
5
>>> # Integer division returns the floor:
... 7/3
2
>>> 7/-3
-3
>>> # use float to get floating point results.
>>> 7/3.0
2.3333333333333335
وعلامة المساواة ( '=') يستخدم لتعيين قيمة متغير. بعد ذلك، يتم عرض أية نتيجة قبل موجه التفاعلية المقبل:
>>> width = 20
>>> height = 5*9
>>> width * height
900
وبالطبع هناك من الرياضيات وحدة الذي ينبغي أن يحل معظم الاحتياجات الخاصة بك حاسبة .
>>> import math
>>> math.pi
3.1415926535897931
>>> math.e
2.7182818284590451
>>> math.cos() # cosine
>>> math.sqrt()
>>> math.log()
>>> math.log10()
نصائح أخرى
صفحة الويب هذه (ولcsh
ومشتقاتها، منذ طلبتم):
% @ x = (354 - 128 + 52 * 5 / 3)
% echo Result is $x
Result is 174
و
% set y = (354 - 128 + 52 / 3)
% echo Result is $y
Result is 354 - 128 + 52 / 3
وتلاحظ نتائج مختلفة.
وشخصيا، وأنا التمسك /bin/sh
وندعو awk
أو شيء (لقابلية القصوى)، أو غيرهم وقد عرضت النهج bash
.
ويمكنك استخدام العاصمة . أو قبل الميلاد .
وهناك العديد من الحلول الجيدة الواردة هنا، ولكن الطريق "الكلاسيكية" إلى القيام بعملية حسابية في قذيفة مع EXPR.
باش يدعم الأساسية (عدد صحيح فقط) الحساب داخل $(( ))
:
$ echo $(( 100 / 3 ))
33
$ myvar="56"
$ echo $(( $myvar + 12 ))
68
$ echo $(( $myvar - $myvar ))
0
$ myvar=$(( $myvar + 1 ))
$ echo $myvar
57
(على سبيل المثال نسخ مباشرة من IBM الرابط)
إذا كنت تستخدم bash
، وهنا مثال مفيد لشيل صغير الذي يسمح لك أن تفعل حسابات من سطر الأوامر (بما في ذلك تحديد دقة للأرقام الفاصلة العائمة):
ويمكنك أيضا استخدام بيرل بسهولة حيث قبل الميلاد أو EXPR ليست قوية بما فيه الكفاية:
$ perl5.8 -e '$a=1+2; print "$a\n"'
3
والخيار البديل هو استخدام المدمج في قيادة BC