任何适用于Ubuntu的命令行计算器?


119

我正在寻找一个可以在终端本身中进行计算而没有任何其他额外前缀和后缀的计算器。

例如:如果我在终端中输入了10000-9000之类的内容,答案应该是1000。

我再次说,我只需要在终端中使用快速计算器,而无需添加任何字符。我知道如果我切换到Python,它可以做到,但是我不希望这样。



2
也许可以破解这样的事情了一种预挂钩的; 但这本身只能用丑陋的方式来完成。不,我非常认为这不是一个好主意。总体而言,Bash是一种普通的IO脚本语言,除此以外,它所做的任何事情或多或少都是临时性的,并且效果并不理想。另一方面,Python(甚至是Haskell)是一种现代的通用编程语言,具有出色的语法。因此,不使用它只是愚蠢的。
左转

3
同样,您也可以对command_not_found钩子进行某些操作,并尝试将命令馈送给bc/ calc/(如果它看起来像是数学)。不过,它仍然感觉有点脏。
慢性病

1
等等,“转换为” python到底是什么意思?和“没有任何额外的前缀”?您是说您希望能够在不运行命令的情况下在提示进行计算吗?
2013年

Answers:


78

重击算术

另一个可能的解决方案是为Bash的内置算法添加一个简单函数。将此放入您的.bashrc文件中尝试:

=() {
    echo "$(($@))"
}

所以现在,您甚至$((...))不再需要,仅=此而已。

替代

另一件事,如果你想更快:你可以把它替换p+x*。这将适用于:

=() {
    local IFS=' '
    local calc="${*//p/+}"
    calc="${calc//x/*}"
    echo "$(($calc))"
}

= 5 x 5  # Returns 25
= 50p25  # Returns 75

现在您甚至Shift不再需要,唯一的事情就是算术。

十六进制输出

如果需要,可以用十进制和十六进制显示输出。(注意:使用x替换将与0x...十六进制语法冲突)

=() {
    local answer="$(($@))"
    printf '%d (%#x)\n' "$answer" "$answer"
}

例:

$ = 16 + 0x10
272 (0x110)

$ = 16**3 + 16**4
69632 (0x11000)

使用 bc

如果您想要稍微更高级的计算,则可以通过以下方式进行传递bc

=() {
    local IFS=' '
    local calc="${*//p/+}"
    calc="${calc//x/*}"
    bc -l <<<"scale=10;$calc"
}

= 'sqrt(2)' # Returns 1.4142135623
= '4*a(1)'  # Returns pi (3.1415926532)

提供的功能bc如下(并可以从中找到man bc):

sqrt ( expression )
       The value of the sqrt function is the square root of the expression.  
       If the expression is negative, a run time error is generated.

s (x)  The sine of x, x is in radians.

c (x)  The cosine of x, x is in radians.

a (x)  The arctangent of x, arctangent returns radians.

l (x)  The natural logarithm of x.

e (x)  The exponential function of raising e to the value x.

j (n,x)
       The Bessel function of integer order n of x.

它还支持ifforwhile和像编程语言但如果它可能是更好的变量,如果你想,要写入文件。

请记住,它将替换px使用函数/变量名称。最好只删除替换项。

使用 gcalccmd

您还可以像这样通过gcalccmdgnome-calculator)进行函数调用:

=() {
    local IFS=' '
    local calc="$*"
    # Uncomment the below for (p → +) and (x → *)
    #calc="${calc//p/+}"
    #calc="${calc//x/*}"
    printf '%s\n quit' "$calc" | gcalccmd | sed 's:^> ::g'
}

= 'sqrt(2)' # Returns 1.4142135623
= '4^4'     # Returns 256

可用功能似乎是(直接取自源代码),==表示等效功能:

ln()
sqrt()
abs()
int()
frac()
sin()
cos()
tan()
sin⁻¹() == asin()
cos⁻¹() == acos()
tan⁻¹() == atan()
sinh()
cosh()
tanh()
sinh⁻¹() == asinh()
cosh⁻¹() == acosh()
tanh⁻¹() == atanh()
ones()
twos()

1
谢谢,您可以通过科学计算增加更多支持吗?
rɑːdʒɑ

2
@rajagenupula参见我上方的编辑
kiri

很抱歉收到这个较晚的答复,但您给出的命令gcalccmd效果不佳。它显示Error 3可能是因为该空白。但是,这个经过稍微修改的版本对我来说非常合适:echo -e "$calc\nquit"| gcalccmd | sed "s:^> ::g"
udiboy1209 2014年

我使用R建立了一个科学计算!function = { R -q --vanilla -e "$@" | grep -E '[^>](.*)' -o -x --color=never }
Morteza Milani 2014年

嗨,谢谢。太酷了。顺便说一句,您用“ x”代替会使它无法输入十六进制,否则效果很好。说到哪个,我也可以用“十六进制”得到答案吗?例如。= 2 + 0x20 34 (0x22)
FractalSpace 2015年

93

您可以使用以下((...))语法在bash中原生执行简单的整数算术运算,例如

$ echo $((10000-9000))
1000

还有一个bc计算器,可以接受标准输入上的算术表达式

$ echo "10000-9000" | bc
1000

bc程序还可以执行浮点运算

$ echo "scale = 3; 0.1-0.09" | bc
.01

11
这可能是您可以获得的最接近的产品。要减少多余的键入(尽管不能完全消除),可以在〜/ .bashrc中放置一个函数:calc()NL {NL echo "$@" | bcNL }其中NL是换行符。然后,您可以键入calc 1234 + 768(打印2002)或任何其他bc可以解释的公式。您当然可以使用任何函数名,我只是认为它很calc适合此功能。
CVn

4
python永远比回声更好。我的意见。
rɑːdʒɑ

6
您也可以交互使用bc,除非由于其他原因需要回显:只需运行bc并键入您的表达式即可。在自己的行上按Ctrl-D退出。
没用

如果您借助别名或其他方法进行了自动表达,那就太好了。
rɑːdʒɑ

3
无需echobc <<< "2*2"
Bernhard

90

您可以使用calc。默认情况下未安装,但是您可以使用以下命令快速安装它:

sudo apt-get install apcalc

安装后,您可以执行任何计算:

$ calc 5+2
    7
$ calc 5-2
    3
$ calc 5*2          
    10
$ calc 5/2
    2.5
$ calc 5^2
    25
$ calc 'sqrt(2)' 
    1.4142135623730950488
$ calc 'sin(2)'
    0.9092974268256816954
$ calc 'cos(2)'
    -0.416146836547142387
$ calc 'log(2)'
    ~0.30102999566398119521
$ calc 'sqrt(sin(cos(log(2))))^2'
    ~0.81633199125847958126
$ # and so on...

有关更多信息,请查看其手册页


2
谢谢您的回答,我看到答案有其自身的意义。我更喜欢所有这些三角函数的计算。关于它可以做什么的任何手册或某页都可以使您的答案大大提高。:)
rɑːdʒɑ

@rajagenupula man calccalc help说了一切。
RaduRădeanu13年

2
我的意图是,如果有人看着它,应该清晰快捷。谢谢。
rɑːdʒɑ

1
实际上,您calc help builtinsin()
通常

提供更多的小数,因此比内置的bash算法更适合我的目的。谢谢。
Mrmfldmn '16

30

不幸的是,没有“更简单”的方法可以做到这一点。在命令行上的交互式Python接口是最适合于你所需要的,因为不像apcalc\,python包含在Ubuntu。我不确定是否bc仍然包含python,但是python是这种东西的不二之选。

您可以只python在命令行上运行交互式界面,然后以这种方式进行数学运算。您可以将其用作计算器。

为此,请打开终端,键入python,然后单击Enter按钮。

然后,在显示的python提示中,您可以输入数学运算。例如,10000 - 9000。下一行输出是结果。


不过,如果您要说的话,您可以在其中加载终端并执行此操作...

$ 10000-9000
1000
$

......那么没有没有办法在这样做只是没有其他任何终端,因为击不处理的数字参数那样。


1
我曾提到我不想切换到蟒蛇
rɑːdʒɑ

1
@rajagenupula已更新,还包括我在聊天中提到的内容。
托马斯·沃德

不再包括不列颠哥伦比亚省吗?
2013年

1
顺便说一句,ipython比标准Python外壳更有用相当多的,当谈到做计算等。
Naftuli Kay

默认情况下包括bc(至少在16.04中)
TJ Ellis

23

我建议您为基本的Python计算创建一个简单的函数。这样的东西在您的.bashrc

calc() {
    python3 -c 'import sys; print(eval(" ".join(sys.argv[1:])))' "$@"
}

calc 5 + 5
# Returns 10

result="$(calc 5+5)"
# Stores the result into a variable

如果您想进行更高级的数学运算,则可以使用下面的数学运算来导入math模块的所有功能。(有关更多信息,请参见此处

calc() {
    python3 -c 'from math import *; import sys; print(eval(" ".join(sys.argv[1:])))' "$@"
}

calc 'sqrt(2)'  # Needs quotes because (...) is special in Bash
# Returns 1.4142135623730951

result="$(calc 'sqrt(2)')"
# Stores the result into a variable

(注意:由于Python是一种编程语言,因此某些事情可能看起来很奇怪,例如,**对于的幂和%对模的幂)

或者,您可以创建一个Python脚本calc

#!/usr/bin/python3
from math import *
import sys
print(eval(' '.join(sys.argv[1:])))

将其放置在PATH变量包含的目录中,并设置其可执行标志以获取与calc上述相同的命令(无需创建Bash函数来运行Python脚本)。

如果您想要纯Bash中的方法,请使用steeldriver的答案。仅当您需要更高级的功能(例如from math)时,此答案才真正有用。因为与Bash相比,Python相对较慢。


我不确定这是否会破坏您的“切换到python,它可以做到这一点,但我不希望这样。” 请注意,但您无需输入交互式提示,并且可以在Bash中访问结果,因此此答案似乎有效(至少对我而言)。


每次这些都不必那么简单和灵活。谢谢。是否有任何改进可以使它看起来更简单明了?我会喜欢的。
rɑːdʒɑ

1
@rajagenupula你可以把一个函数在你的.bashrc(可能用更短的名称:c?+?),所以你必须它在每次打开终端。
kiri

1
当心:使用Python 3可以很好地工作,但是如果您想使用Python 2,则必须将代码段编辑为:python2 -c "from __future__ import division; from math import *; print($*)"否则它将始终进行整数除法,例如,calc 5/2您将得到2而不是2.5。请参阅此处以供参考:stackoverflow.com/a/183870/202504
jmiserez

实际上,Python解决方案可能比apcalc好,因为您可以导入其他库,并且它支持文字pie。我觉得将其作为一个单独的脚本更加灵活和可移植。这是一个简单的要点:gist.github.com/jasongeng/279eb396c01e74beb9ef
Geng

21

使用gcalccmdfrom gnome-calculator(> = 13.04)或gcalctool(<13.04)包。我认为该软件包是默认安装的

% gcalccmd
> 2+3
5
> 3/2
1.5
> 3*2
6
> 2-3
−1
> 

迄今为止最好的一个。.无需做任何额外的事情,并且默认情况下也已安装。. man gcalccmd说:一个控制台计算器。简而言之,这正是OP想要的.. :)
Saurav Kumar

太酷了,类似于bc,python,ocatve计算器。谢谢。
rɑːdʒɑ

由于gcalccmd很难键入,因此最好以./bash_aliases类似的方式向其添加别名,alias calc='gcalccmd'或者如果您要进行一次性计算(带即时答案),则可以添加alias calc='gnome-calculator -s'后者的用法:calc 2000/1300calc 2+3。在这种情况下,无需退出计算器-它只为您提供答案,而无需键入quit
拉法尔2014年

10

这是一个快速的shell脚本:

#!/bin/bash
echo "$@" | bc

将其保存为“ c”,然后将其放在路径中的某个位置(例如/ bin),然后将其标记为可执行文件。

# nano /bin/c
# chmod +x /bin/c

从现在开始,您可以像这样在终端中运行计算:

$ c 10000-9000
1000

您太棒了,在计算之前仅添加一个字母就意味着这真是个很酷的主意。如果我需要2到3次计算,这是超级的。我可以选择更长或更短的时间来使用python或其他工具,我选择它。谢谢您的光临。
rɑːdʒɑ

2
我建议您改为使用它,echo "$@" | bc以便您可以更自然地在计算中放置空格
kiri

如何使用=代替代替c此命令的名称?Bash实际上允许您使用它作为函数的名称。
卡兹(Kaz)

1
您可以将程序放入~/bin(您的主目录的bin)中,并确保该/home/yourname/bin程序位于您的中PATH
卡兹(Kaz)

@ minerz029好主意。我已经相应地编辑了答案。
user530873

8

下面是适当的部分的变形例/etc/bash.bashrc(在Ubuntu 10.04),将修改command_not_found处理程序以运行该壳的表达式计算器,如果未知命令的第一个字符是数字或-+

您将可以通过这种方式执行任何Shell算术运算。有关算术运算符列表,请参见http://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic

请注意,如果要评估的表达式包含*,则必须*用with \或引号引起来,因为外壳将在决定运行哪个命令之前进行文件名扩展。对于其他运算符,如>>

将其放入您的中~/.bashrc,然后输入. ~/.bashrc并尝试。

# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found ]; then
    function command_not_found_handle {
        if [[ $1 == [0-9+-]* ]]; then
           echo $(( $@ ))
        elif [ -x /usr/lib/command-not-found ]; then
           /usr/bin/python /usr/lib/command-not-found -- $1
           return $?
        elif [ -x /usr/share/command-not-found ]; then
           /usr/bin/python /usr/share/command-not-found -- $1
           return $?
        else
           return 127
        fi
    }
fi

示例输出:(我输入cta,是一个错字,只是为了测试我们新的command_not_found处理程序仍将尝试查找未知命令)。

mp@ubuntu:~$ cta
No command 'cta' found, did you mean:
 Command 'cda' from package 'xmcd' (universe)
 Command 'cat' from package 'coreutils' (main)
cta: command not found
mp@ubuntu:~$ 9000-1000
8000

有什么办法可以增加对计算的支持?
rɑːdʒɑ

1
您可以选择显示的行echo $(( $@ ))并将其更改为运行其他应答程序提到的更高级的计算器程序之一,该程序在命令行中接受其参数。
Mark Plotnick

8

我这里没有提到的另一个解决方案是Qalculate(qalc)

sudo apt-get install qalc

对于CLI版本,

sudo apt-get install qalculate-gtk

用于GUI。

它具有许多功能,例如:

  • 支持单位:例如20 m / s * 12 h = 864 kilom
  • 内置的常量piecavogadro
  • 许多内置功能:例如sin(pi) = 0gamma(4) = 65! = 120log(1024, 2) = 10
  • 单位转换,例如:

> 120 in
120 * inch = 120 in
> convert cm
120 in = 304.8 centim

  • 符号计算,例如(x + y)^2 = x^2 + 2xy + y^2
  • 整合,例如integrate 3*x^2 = x^3diff sin(x), pi
  • 内置帮助,例如help converthelp integrate
  • 选项卡的命令完成
  • 一切都被翻译了,例如我的系统是荷兰语的,所以我可以同时写factorial(5)faculteit(5)
  • 和更多...

您说您想不带前缀使用它,嗯...您可以将其与前缀一起使用:

$ qalc 5 ft + 3 cm
(5 * foot) + (3 * centim) = 1.554 m

以及作为副本运行它。


7

dc!它是coreutils的一部分,因此已安装在OS X,Ubuntu以及几乎所有其他产品上。这是一个RPN计算器,因此,如果您不喜欢这些,就不适合您。

基本命令如下(联机帮助页具有我未包括的所有语法。幂运算,有人吗?)

您只需要在数字之间留空格。在所有其他情况下,它们将被忽略。

键入数字会将其推入堆栈的顶部。

+ Adds top 2 items in stack, then pushes result to stack (`2 4 +p` outputs 6)
- Subtracts top 2 items in stack, then pushes result to stack (`4 2 -p` outputs 2)
* Multiplies top 2 items in stack, then pushes result to stack (`6 5 *p` outputs 30)
/ Divides top 2 items in stack, then pushes result to stack (`54 7 /p` outputs 8)
p Print top item in stack, without destroying it
c Clear stack
r Swap top 2 items on stack
d Duplicate top item on stack
k Pops top item off stack, using it to determine precision (so 10 k would print 10 numbers after the decimal point). Default is 0, so it won't do floating point math by default.
n Pops top value off stack, then sends to stdout without a trailing newline
f Dump stack. Useful for finding what something does

只是注意到,这不能回答问题(也不能回答其他任何问题)。问题是如何不在等式前面(也不在后面)放置任何东西,而只是42 * 5在终端中输入“ say”,然后输出答案?
另一个用户

2
大多数答案都不适用。1+1在终端上键入几乎永远不会起作用。所以您的答案很好
kiri

@YetAnotherUser我认为唯一的方法是侵入未找到的命令(如果已安装)或在bashrc中做脏事……
Braiam

5

我将Octave用于此类事情:http : //www.gnu.org/software/octave/

它几乎是一个matlab克隆(如果过于简化,则表示歉意),可以在终端中输入八度来使用它。安装sudo apt-get install octave

它不是您想要的,但我想我会将其添加为python的替代品。

用法示例:

~ $ octave
octave:1> 9000 - 8000
ans =  1000
octave:2> 

提出另一种实现目标的方法可以很好地解决问题,但是您应该提供有关OP如何使用Octave来满足所陈述的需求以及为什么它是一个很好的选择的更多信息。
2013年

2
+1,八度,matlab,scilab,python都相似,但是我需要安装八度,但需要预安装python。所以我默认使用python。谢谢。
rɑːdʒɑ

从我尝试过的所有内容中(而且我尝试了很多!),八度音阶是唯一在语法错误上返回非0的音阶!谢谢!
Aquarius Power

5

我非常喜欢wcalc。这是一个命令行科学计算器。在Ubuntu软件中心很容易找到,或者只使用apt-get。

sudo apt-get install wcalc

它接受命令行参数以及具有“ shell”模式:

# simple operation
$ wcalc 2+2
 = 4
# Quoting is necessary to prevent shell from evaluating parenthesis
$ wcalc "(2+2)*10"                                                                                    
 = 40
$ wcalc "sqrt(25)"                                                                                    
~= 5
# in shell mode you can evaluate multiple commands repeatedly
$ wcalc
Enter an expression to evaluate, q to quit, or ? for help:
-> 12*20+1
 = 241
-> sin(90)
 = 1
-> sin(pi/2)
 = 0.0274121

如果有人像我一样从事工程设计,则可以使用GNU Octave。它可以做各种事情,作图,求解联立方程。另外,它是Matlab的免费替代品


...与@ minerz029结合起来非常整洁:将其放在您的〜/ .bash_aliases中:=() { wcalc "$@" }
Frank Nocke

4

简单的方法是调用python。

例:

>  python -c 'print 10000-9000'

你能用科学的计算提些什么吗?
rɑːdʒɑ

1
你想要这样的东西吗?python -c 'import math;print math.log(2)'
user1251007

3

我发现的是,我不信任expr,bc或内置的Shell选项。因此,我使用了Perl,它通常会安装在* linux发行版的

perl -le 'printf "%.0f", eval"@ARGV"' "($VAL2-$VAL1)"

上面的计算将从$ VAL2中减去$ VAL1并打印不带小数位(0f)

使用Perl的好处是(此处列出优点和缺点的详细信息)

  • 更好的错误捕获(除以0不会停止计算)
  • 可以在配置文件中提供公式。无需使用复杂的正则表达式进行转义

但是每次该命令都意味着一点点问题。终端中有基于Perl的计算器吗?
rɑːdʒɑ

3

您可以在.bashrc文件中添加以下功能:

function = {
  echo "$@" | bc -l
}

请注意,-l标志非常重要。没有它,将使用bcGive 5 / 2 = 2

由于上面已进行过硫磺化,因此可以使用=公式前面的符号进行计算。


3

您还可以使用awk在终端上进行一些算术运算,

echo 10000 9000 | awk '{print $1-$2}'
1000
echo 10000 9000 | awk '{print $1+$2}'
19000
echo 10000 9000 | awk '{print $1/$2}'
1.11111
echo 10000 9000 | awk '{print $1*$2}'
90000000

酷,awk(八度)在语法错误thx上也返回非0!
水瓶座力量

2

使用“ BC”命令,然后您可以进行计算

[root@vaibhav ~]# bc

----------these lines will genrate automaicaly---------------

right 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 

---------------enter your calculation here---------------------------------------


10+2   

12

要在bc没有保修说明的情况下使用,请写在终端上bc -q

[root@vaibhav ~]# bc -q
10+2
12

BC已被解释并包含在内。
Braiam 2013年

2

您可以使用bind和bash C-aC-e控制输出。例如,在您的shell中执行以下命令:

bind '"\C-j": "\C-aecho $(( \C-e )) \C-m"'

现在键入任何算术运算,例如10 + 15并按Ctrl+ J

$ echo $(( 10 + 15 )) 
25

你会得到的。现在,如何完成?

  • bind 此命令更改bash的绑定,如快捷键。
  • \C-j 这是等效于Ctrl + J的bash,这是我们想要添加到命令中的键组合。
  • \C-a 这将我们带到生产线的起点。
  • echo $((echo $((是开始写的。
  • \C-e 带我们到行尾
  • )) 关闭我们之前的括号
  • \C-m 这等效于返回键。

您可以将此写入~/.inputrc文件:

"\C-j": "\C-aecho $(( \C-e )) \C-m"

当然,其他答案也有效!只是进行了一些调整:

  • 公元前: "\C-j": "\C-aecho " \C-e " | bc \C-m"
  • apcalc: "\C-j": "\C-acacl \C-m"
  • 蟒蛇: "\C-j": "\C-apython3 -c "print( \C-e )" \C-m"
  • 还有其他吗?

您可以将Ctrl + J更改为所需的任何值,但请记住,请不要对已经具有绑定的内容进行更改;)。

资源:


Ctrl + J确实已有绑定,它会提交该行(例如Enter),尽管这实际上是一个非常聪明的答案;)
kiri

2

过去,我使用过wcalc一个叫做的小程序e,对于Google来说几乎是不可能的。现在,我使用python脚本执行此操作,该脚本使用e了方括号等功能。 wcalc仍然不错,因为它可以执行任意精度和单位转换,但是我几乎从不使用这些功能。

#!/usr/bin/env python3

"""
This is a very simple command line calculator.  It reads in all
arguments as a single string and runs eval() on them.  The math module
is imported so you have access to all of that.  If run with no
arguments, it allows you to input a single line expression.  In the
case of command line args, square brackets are replaced with round
parentheses, because many shells interpret round parentheses if they
are not quoted.
"""

import sys, numbers
import cmath, math

args = sys.argv[1:]

if len(args) < 1:
    expr = input()
else:
    expr = " ".join(args[:])
    expr = expr.replace("[", "(").replace("]", ")")

def log2(x):
    """Return the base-2 logarithm of x."""
    return cmath.log(x, 2)

# the smallest number such that 1+eps != 1
# (this is approximate)
epsilon = sys.float_info.epsilon

env = math.__dict__
env.update(cmath.__dict__)
env = {k:v for k,v in env.items() if not k.startswith("__")}
env["eps"] = epsilon
env["log2"] = log2
env["inf"] = float("inf")
env["nan"] = float("nan")

res = eval(expr, env)
# throw away small imaginary parts, they're probably just due to imprecision
if (isinstance(res, numbers.Number)
    and res != 0
    and abs(res.imag)/abs(res) < 10*epsilon):
    res = res.real

print(str(res).replace("(", "[").replace(")", "]"))

这是使用方法(假设脚本已另存为e并放在中$PATH):

$ e e**[pi*1i]
-1.0
$ e hex[10**3]
0x3e8
$ e "[0o400+3]&0xff" # need quotes because of '&'
3

一个例子可以使这个看起来更清楚。谢谢。
rɑːdʒɑ

0

您可以采用一种简单的方法来准确地完成所需的操作。您需要做的就是将shell您的帐户设置为/bin/bc


3
您能详细说明一下吗?Pressume OP不知道如何更改外壳。
Braiam 2013年

0

您也可以使用printf 内置的Shell在终端上进行算术计算。

printf `expr $num1 + $num2`   # num1,num2 are  variables which stores numbers as values.

例:

$ printf "$(expr 10000 + 9000)\n"
19000
$ printf "$(expr 10000 - 9000)\n"
1000

3
这样,您使用的是expr(未内置)来计算结果,这里的printf是多余的
JavierLópez2015年

0

您可以使用python解释器进行计算。这是有关如何执行此操作的教程

默认情况下,Python 2和python 3安装在Ubuntu中。

$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 2+2
4
>>> 3*5
15

0

创建一个终端计算器

将以下内容放入您的.bashrc文件中

function calc
{
 echo "${1}"|bc -l;
}

或者,在外壳程序提示符下运行它。现在,shell中的“ calc”将按以下方式工作:

$ calc 3+45
   48

所有带有“(”或“)”的函数必须用引号引起来。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.