shell脚本编程之算数运算

#/bin/bash

在进行shell脚本编程之前一定要在脚本的开头加上上头这一句话,并且要顶着头写,前头不能有空格和空行。这句话的意思是告诉系统用哪一种shell来执行此脚本。如果没有这句话就有可能发生一些意想不到的错误。

接下来说一说在shell脚本中或命令行中如何进行算数运算。也许你已经发现,因为shell中的变量的格式都为字符类型,所以如果只是简单的让一个变量去等于一个表达式的话,那么当输出此变量的时候输出的还是哪个表达式,而并不是表达式所得出来的结果,比如:

 ~]$ a=1+2
 ~]$ echo $a
1+2

我们想让a=3,但是当我们使用echo把a这个变量显示出来的时候却得到的是字符串“1+2”。

那么当我们想要变量a等于3的时候应该怎么做呢?

此时有以下几种方法:

1.使用命令let就能得到想要的结果了,格式为:let VAR=算术表达式

 ~]$ let a=1+2
 ~]$ echo $a
3

除了加法,简单的算数运算还有减法、乘法、除法、取模和次幂。当然,let的功能并不只有这些,基本上我们可以想到的表达式都可以使用这个命令来进行运算,比如自加、自减等运算:

let B+=2    等同于    let B=b+2
let B-=2    等同于    let B=B-2
let B*=2    等同于    let B=B*2
let B/=2    等同于    let B=B/2
let B%=2    等同于    let B=B%2

当变量和两个连续的加号或减号在一起连用就是自加一,但是会有前后的区别,比如:

1)当变量在前时,变量a先将值赋给变量b,然后自加一:

 ~]$ a=2
 ~]$ let b=a++
 ~]$ echo $b
2
  ~]$ echo $a
3

2)当变量在后时,变量a先自加一,然后将值赋给变量b:

 ~]$ a=2
 ~]$ let b=++a
 ~]$ echo $b
3
 ~]$ echo $a
3

同理:当运算符为“-”时也是如此。

2.VAR=$[算术表达式],格式为:SUM=$[C+B]相当于$[$C+$B],中括号里可以是变量也可以直接是一个表达式,比如

 ~]$ echo $b
3
 ~]$ echo $a
3
 ~]$ echo $[a+b]
6
或
 ~]$ echo $((1+2))
3

3.VAR=$((算术表达式)),这种方法和上一种方法基本一样,但是注意,小括号必须为两个,当只有一个小括号的时候是命令的引用。

4.expr ARGU1 ARGU2 ARGU3  ARGU1和ARGU3 必须是数值,ARGU2是运算符,且每个参数之间要用空格隔开,否则不能输出正常的结果,比如:

 ~]$ expr 1+2
1+2
 ~]$ expr 1 + 2
3

5.echo “算术表达式” | bc

这种方法是利用管道线将一个算数表达式送过bc命令

比如:

 ~]$ echo "1+2" | bc
3
时间: 2024-10-12 22:14:04

shell脚本编程之算数运算的相关文章

08 bash特性--shell脚本编程入门

shell脚本编程入门 编程语言介绍 变量 变量:就是给计算机内存中的一段空间命令,命令的这个空间就叫做变量,而再给这个空间放入值的过程,我们就叫做给变量赋值: bash下的变量的内部数据类型:(这是数据在内存中存放的格式,默认情况下,shell程序下一班都不会去申明数据类型,所以,我们的bash程序默认数据为字符类型) 字符型(string) 数值:整型(int).浮点型 布尔类型:真假 同时,脚本一般在执行的时候都会自动启动一个子shell进程,命令行中的启动的脚本会继承当前shell环境变

Shell脚本编程概述(一):算数运算和条件测试

一.shell脚本语言 1.编程语言的分类: (1)根据运行方式 编译运行:源代码 --> 编译器 (编译)--> 程序文件: 解释运行:源代码 --> 运行时启动解释器,由解释器边解释边运行: (2)根据其编程过程中功能的实现是调用库还是调用外部的程序文件: shell脚本编程:利用系统上的命令及编程组件进行编程: 完整编程:利用库或编程组件进行编程: (3)编程模型: 过程式编程语言:以指令为中心来组织代码,数据是服务于代码: 顺序执行.选择执行.循环执行:代表:C,bash 面向对

Shell脚本编程知识点总结及范例

 一:关于语言 1)编译性语言 编译型语言多半运作于底层,所处理的是字节.整数.浮点数或其它及其机器层经的对象.处理过程为:源程序--预处理--编译--汇编--链接,编译性语言为静态语言. 2)解释性语言 解释性语言读入程序代码并将其转化为内部的形式加以执行.处理过程:解释性(文本文件)-解释器去读取并执行.解释性语言为动态语言. 二:基础 变量类型 linux脚本中的变量不需要事先声明,而是直接定义使用(这点不同于其他高级编程语言中变量的使用)bash变量类型分为本地变量和环境变量. 本地变量

Linux中的shell脚本编程——基础篇

概述: shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础.脚本基本格式.变量.运算.条件测试这几个方面详细介绍shell脚本编程的基础内容,也是我们必须要掌握熟练的内容. 一.编程环境 1.程序:指令+数据 程序编程的风格有两种: 过程式:以指令为中心,数据服务与指令 对象式:以数据为中心,指令服务于数据 2.程序的执行方式: □计算机:只能识别二进制文件

关于shell脚本编程第一篇

shell脚本编程(1)脚本的基本格式:              程序:指令+数据程序编程风格分为两种:                    过程式:以指令为中心,数据服务于指令                    对象式:以数据为中心,指令服务于数据过程式编程有以下几个特点:                        顺序执行                        循环执行                        选择执行shell编程:          过程式.解释

shell脚本编程——流程控制

shell脚本编程--流程控制 目   录 一. if 二. case 三. for 四. while 五. until 六. 综合应用 一.if 1.语法 (1)单分支 if  判断条件:then fi (2)双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi (3)多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; then 条件为真的分支代码 else 以上条件都为假

Linux中的shell脚本编程——函数

概述: 本章节将总结while,for循环语句的特殊用法,在不同的场景当中,更能发挥其功能和价值.除此之外,还会介绍一种特殊的循环语句select语句,实现菜单的作用.最重要的是讲解shell脚本编程中函数的用法.这些内容都要熟练掌握. 一.循环语句的特殊用法: 1.while循环的特殊用法(遍历文件的每一行): □语法:while read line; do 循环体 done < /PATH/FROM/SOMEFILE □意义:依次读取/PATH/FROM/SOMEFILE文件中的每一行,且将

Linux 的shell脚本编程

shell脚本编程 程序:指令+数据 程序编辑风格:             过程式:以指令为中心,数据服务于指令             对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指令 编程语言: 低级:汇编语言 高级:编译:高级语言-->编译器-->目标代码 java,c#,c,c++ 解释:高级语言-->解释器-->机器代码 shell,per,python 编程逻辑处理方式:           顺序执行      

Linux shell脚本编程基础之练习篇

shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash if [ $# -ne 1 ] then echo "请输入一个参数" exit else echo "参数正确" newfile=$1 fi #echo `grep "^#\!" ${newfile}` if ! grep "^#\!" ${newfile} &>/