SHELL脚本的语法知识——数值计算

①$[]

  $[ $a operator $b ]

  例: a=2;b=3;

     echo $[ $a + $b]   # 5

     echo $[$a-$b]  #-3

     echo $[++$a-$b]  #0

     c=$[$a+$b]  # √ c=6

     d=$[a+b]  # 6

  备注:除了自加自减运算符其他都支持;只能进行整数运算;++在操作数前面时不会报错也不会自加;$[]会输出运算结果

②let

  let a=b+c

  例:a=1;b=2;

    let c=a+b;echo $c  # 3

    let c=++a+b;echo $c  # 4

    c=let a+b  # × let不会输出计算结果

    echo `let a+b`  # ×

  备注:几乎支持所有运算符;表达式中的变量不加$;一般情况下表达式不用加双引号,但是如果表达式中有bash关键字则需加上;只能进行整数运算;let 不会输出运算结果,赋值需要在表达式中进行;bash内建命令

③[$](( ))

  例:

    a=3;

    ((b=a+2));echo $b  # 5

    echo ((a+5)) 或者 c=((a+3))  # -bash: syntax error near unexpected token `(‘

    echo $((a+5)) 或者 c=$((a+3));echo $c  # 8 或 6

  备注:用法与let完全相同;如果前面有$符号,则结果输出,否则结果不输出

④bc

  例:

    f=`echo 3+1|bc`;echo $f  # 4

    touch f;echo 3+4 > f;cat f |bc  # 7

  备注:支持浮点数计算;支持除位运算之外的所有运算;通过scale进行精度设置

⑤expr

  例:

    a=3;

    b=`expr $a + 3`;echo $b  # 6

  备注:需要对部分操作符进行转义;操作符与操作数之间需用空格隔开;只支持整数运算

时间: 2024-10-07 23:35:39

SHELL脚本的语法知识——数值计算的相关文章

SHELL脚本的语法知识2

①shell的数值计算 $[[ 空格]$a[空格 ]operator[空格]$b[空格]] 计算时操作符及其操作数必须要用方括号[]括起来,然后用$作为前导符,[空格]表示此处空格可有可无 eg: ` a=2;b=3;echo $[ $a + $b] ` #屏幕输出 5 ②脚本运行时与用户的交互 ` read  x ` 程序运行到此处时会暂停并提示用户输入数值,用户输入完毕并回车后,程序将用户输入的值赋给x,x为任意变量名 eg: ` read x ` ` read -p "please ent

SHELL脚本的语法知识1

① $符号的使用方法:(摘自-网络) $0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个.$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$? 执行上一个指令的返回值 (显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误)$- 显示shell使用的当前选项,与set命令功能相同[email protected] 跟$*类似,但是可

SHELL脚本的语法知识3

①管理Linux w 查看当前系统的负载 /proc/cpuinfo 保存服务器CPU相关信息 grep -c 'processor' /proc/cpuinfo 计算服务器CPU个数 vmstats 监控系统状态 top 显示进程所占系统资源 sar 监控系统状态 sar -n DEV 查看网卡流量 xargs 把其他命令的输出作为其后命令的输入 find ./ -mtime +10 | xargs rm find *.txt | xargs -n1 -i{} mv {} {}_bak 把后缀

SHELL脚本的语法知识——流程控制

①if-elif-elif-else-fi if-fi ` if(($a > 30));then echo $a;fi `       or ` if [ $a -gt 30 ];then echo $a;fi ` if-else-fi ` if(($a = 30));then echo $a;else echo 30;fi ` or ` if [ $a -eq 30 ];then echo $a;else echo 30;fi ` if-elif-elif-else-fi ` if(($a >

Linux Bash脚本基本语法知识

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 前提:读者能够基本使用一款文本编辑器以及了解文件的权限概念. 准备工作 在/home目录创建script文件用于保存所有的脚本程序: # mkdir /home/script # cd /home/script/ Bash脚本的基本输入输出 第一个bash脚本: # vim ./hello-world.sh 说明: "#!"是一个约定标记,它告诉系统这个脚本需要什么解释器来执行 作为可

shell脚本启动语法错误syntax error near unexpected token '{

执行shell脚本时失败,报语法错误,但脚本内容检查正常 原因为该脚本是在非Linux系统下编辑之后放到系统执行的,文件模式类型非Linux系统匹配的模式类型. 查看文件的模式类型 显示文件的模式类型为 dos 修改文件的模式类型为Linux匹配的 unix 保存之后即可正常启动脚本. shell脚本启动语法错误syntax error near unexpected token '{ 原文地址:https://www.cnblogs.com/zjfjava/p/10708370.html

shell脚本编程基础知识

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell.bash是很多linux系统的默认shell. 下面开始写一个范例shell #!/bin/bashecho "Hello World

最全shell脚本语句语法使用(超详细)

博文大纲: 1.对谈式脚本--read语句 2.shell脚本中的测试的字符 3.判断脚本举例 4.条件判断--if语句 5.条件判断--case语句 6.条件判断--function函数结合case语句 7.循环判断--while.until语句 8.固定循环--for...do...done语句 9.循环--cut.set结合for语句 10.其他脚本类型举例 11.shell脚本的追踪与debug shell脚本的编写越规范越好,那么通常在每个shell脚本的开头几行会有如下几个方面相关的

shell脚本学习-语法篇

一. 条件测试:test [命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测 试结果为假,则命令的Exit Status为1(注意与C语言的逻辑表示正好相反). 二.if/then/elif/else/fi和C语言类似,在Shell中用if.then.elif.else.fi这几条命令实现分支控制.这种流程控制语句本质上也是由若干条Shell命令组成的,其实是三条命令,if [ -f ~/.bashrc ]是第一条,then . ~/.ba