Windows では、基本的な計算を実行する必要があるときに、組み込みの電卓を使用します。ここで、シェルしかない場合の一般的な方法を知りたいと思います。
ありがとう
このWebページから(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 を使用することです。
Bashは内部で基本的な (整数のみ) 演算$(( ))
をサポートしています:
$ echo $(( 100 / 3 ))
33
$ myvar="56"
$ echo $(( $myvar + 12 ))
68
$ echo $(( $myvar - $myvar ))
0
$ myvar=$(( $myvar + 1 ))
$ echo $myvar
57
(IBM リンクから直接コピーされた例)
また、Python インタープリターはいつでも使用できます。通常、Linux ディストリビューションに含まれています。
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()
bc や expr が十分に強力でない場合、Perl を簡単に使用することもできます。
$ perl5.8 -e '$a=1+2; print "$a\n"'
3
代替オプションは、組み込みの BC コマンドを使用することです