专业编程基础技术教程

网站首页 > 基础教程 正文

linux shell之算术运算及echo命令总结

ccvgpt 2024-08-18 14:42:39 基础教程 20 ℃

最近在做项目的时候,发现在shell编程时,使用算术运算符和echo指令时有很多需要研究的,所以就写了这篇文章,一来可以对这两个知识点进行完整的总结,二来也可以给友友们在编程时能够提个醒。

算术运算符

在进行shell编程时,我们可以借助expr指令来完成整数的算术运算。可进行的算术运算有:加法(符号:+)、减法(符号:-)、乘法(符号:\*)、除法(符号:/)、求余(符号:%)及赋值(符号:=)。

linux shell之算术运算及echo命令总结

下面一个例子说明算术运算符的使用及注意事项。我们编写如下图所示的一个shell程序

从图中可以看出,我们使用了所有算术运算符,但编写样式是不全相同的,具体它的运行结果是如何呢?我在终端中,运行上述shell文件,得到结果如下:

从结果中可以看出,加法、减法运算都正常运行了,但乘法、除法以及求余运算均显示运行异常。到底什么问题呢?

我们可以看到:上述代码对赋值运算符使用时,有所区别。加法、减法赋值运算符左右两侧均无空格,而乘法在赋值符左侧有空格,右侧无空格,除法和求余则赋值符左右都有空格,从运行结果可知,仅有加法、减法运行正常。因此,对shell编程可以总结如下:

  • 赋值运算符前后不可有空格;
  • 表达式和运算符之间必须有空格;
  • expr指令后必须有空格;
  • 算术表达式前后需要使用符号“`”。注意符号“`”非单引号,而是位于键盘ESC键下方的反引号。

发现上述问题,对shell文件修改后,运行结果如下:

可以看到,程序已可完全运行正常。

echo命令

从上面的例子,我们可以看到大量使用了echo命令,所以顺带总结一下echo命令用法。

  • 语法

echo命令用于对字符串的输出,标准语法:

echo string

  • 用法

显示普通字符串

可以看到双引号的有无对结果无影响。

显示转义字符

可以看到显示转义字符双引号的有无依然是对结果没有影响的。

换行显示

可以看到,显示换行必须加入 –e选项,否则原字符串输出。但最后一条语句取消了双引号,不知道怎么输出那个结果,有专业的友友可以帮忙解释一下,谢谢。

变量显示

将变量的值显示出来,可以参看算术运算符章节之例,不再赘述。

原样输出字符串,而不显示变量的值

使用用单引号即可,参看算术运算符章节之例,不再赘述。

输出到文件

将结果输出到指定的文件中,如下图所示:

可以看到执行命令后,结果直接输出到指定的文件中了。

显示命令执行结果

在命令中使用反引号,可以显示此命令执行结果,而不是显示命令本身。

本文中的问题,友友们可以多支持回复解答一下哦,谢谢。

Tags:

最近发表
标签列表