BASH 整数计算器的别名

BASH 整数计算器的别名

我的 .bash_aliases 文件中填充了单字母别名(例如 o 为octave-cli和 r 为 )sudo reboot

有一段时间我一直想实现 BASH 的内置计算器来执行快速计算,主要是整数乘法和指数运算。有时我会echo $((expression))在终端中运行,但是如果能对此进行简写就更好了,这样我就可以简单地写

c expression

在终端中。理想的做法是声明类似

alias c="echo $(($@))"

进入 .bash_aliases 文件,但是这不起作用(它打印 0 以及未解的表达式)。我必须以什么方式修改上面的命令才能将“表达式”c expression传递给echo $(($@))。我曾想过在 .bash_aliases 文件中包含一个函数,但不知道如何正确引导参数。

答案1

别名不能接受位置参数。为此,您需要一个函数:

$ c(){ echo "$(($@))";  }
$ c 2+2
4

这不是什么新鲜事,也没有回避有关别名的问题。同样已经讨论过了这里这里这里以及其他十余篇帖子。

虽然在某些情况下可以使用以下方法“模拟”别名的行为xargs,但这种方法容易出错、难以维护,并且效果不稳定。一般来说,如果您出于某种原因不想使用函数,但希望使用命令行实用程序来执行计算,请使用 中给出的建议有适用于 Ubuntu 的命令行计算器吗?。诸如这些建议的专用工具可以做的不仅仅是 bash 算术扩展,这是另一个好处。

相关内容