数值运算shell脚本

这次的shell案例比较简单,但有其特点。

#!/bin/sh

# scriptbc - Wrapper for 'bc' that returns the result of a calculation.

if [ $1 = "-p" ] ; then
 precision=$2
 shift 2
else
 precision=2      # default
fi

bc -q << EOF
scale=$precision
$*
quit
EOF

exit 0

脚本特点:
1) 脚本整体简洁明了,但功能强大,可以实现带自定义数值运算。
2)scale=$precision 是传给bc的参数,用于显示小数的位数
3)<< EOF
scale=$precision $* quit
EOF
用来给脚本传递值,类似于在bash下手动依次输入的效果。
4) precision=$2 ;shift 2 这行有意思,有了这个就可以实现脚本参数的功能,
shift 2 的意思是将输入的参数左移2位,即$1,$2先清空,$3赋值给$1,$4赋值给$2。

(0)

相关推荐

  • 数值运算shell脚本

    这次的shell案例比较简单,但有其特点. #!/bin/sh # scriptbc - Wrapper for 'bc' that returns the result of a calculation. if [ $1 = "-p" ] ; then precision=$2 shift 2 else precision=2 # default fi bc -q << EOF scale=$precision $* quit EOF exit 0 脚本特点: 1) 脚本

  • Shell脚本编程中常用的数学运算实例

    这部分主要讨论数学相关的shell脚本编程. 加法运算 新建一个文件"Addition.sh",输入下面的内容并赋予其可执行的权限. 复制代码 代码如下: #!/bin/bash echo "Enter the First Number: " read a echo "Enter the Second Number: " read b x=$(expr "$a" + "$b") echo $a + $b =

  • shell脚本之判断输入参数是否为整数值的实例

    在写脚本时,通常会有很多关于命令行参数,变量等的判断其是否存在或者类型是否正确.当判断一个从命令行接收到一个值,需要判断其是否为整型值时,有以下两种方法: 1.用shell命令使其与某个整型值进行计算,通过$?来判断其是否是一个整型值. flag=true read -p "please input a number:" num while $flag do expr $num + 0 &>/dev/null [ $? -eq 0 ] && flag=fa

  • shell脚本学习与总结

    1.shell 脚本是区分小写的2.Unix特殊字符有: ( ; $ ? & * () [] ` ' " + 使用其时要进行转义()3.Shell的注释以#开头4.函数的定义Function fuction_name(){Command to execute}调用时直接用function_name.5.控制结构1)If...then语句If [ test_command ]ThenCommandsif2)If...then...else语句If [ test_command ]ThenC

  • shell脚本学习指南[四](Arnold Robbins & Nelson H.F. Beebe著)

    回忆起一件事情:之前用linux寻找中文输入法的时候,在百度输入了fcitx,然后结果上边有个,您要找的是不是: 讽刺腾讯 .本来一直记不住这个输入法名字,不过以后哥就记住这个输入法的名字是怎么拼了,感谢百度. 第九章awk的惊人表现 awk的调用可以定义变量.提供程序并且指定输入文件,语法: 复制代码 代码如下: awk [ -F fs ] [ -v var=value ... ] 'program' [ -- ] [ var=value ... ] [file(s) ]awk [ -F fs

  • Shell脚本中不同进制数据转换的例子(二进制、八进制、十六进制、base64)

    shell可以在不调用第3方命令,表示不同进制数据.这里总结以下表示方法.shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值.如:以 0 开头就是 8 进制.以0x 开头就是16 进制数.使用 BASE#NUMBER 这种形式可以表示其它进制.BASE值:2-64. 使用方法: 其它进制转为10进制 八进制转十进制: 复制代码 代码如下: [chengmo@centos5 ~]$ ((num=0123)); [chengmo@cen

  • Shell脚本的条件测试和if条件语句使用方法

    一.条件测试操作 要使Shell脚本程序具备一定的"智能",面临的第一个问题就是如何区分不同的情况以确定执行何种操作.Shell环境根据命令执行后的返回状态值(¥?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常.使用专门的测试工具--test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立). 使用test测试命令时,包括以下两种形式: test 条件表达式 [ 条件表达式 ] 这两种方式的作用完全相同,但通常后一种形式更

  • 一个不错的shell 脚本教程 入门级

    建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用.所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行). 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit.kedit.emacs.vi 等来编写我们的shell程序. 程序必须以下面的行开始(必须方在文件的第一行): #!/b

  • shell脚本命令行参数简介

    之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互.bash shell提供了命令行参数添加在命令后面的数据值).命令行选项修改命令行为的单字符值)和直接读取键盘输入. 1.命令行参数向shell脚本传递数据的最基本方式是使用命令行参数. 1)读取参数读取输入的参数的变量为位置参数,位置参数通过标准数字表示,其中$0为程序名称,$1为第一个参数,$2为第二个参数,依次类推,直到$9为第九个参数.shell脚本自动将命令行参数赋值给各个位置变量.同时输入多个参数可以是数值也可

  • shell脚本中常见的一些特殊符号和作用详解

    在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我们编写的代码更加简洁和高效,这里给大家汇总下: 1.{} 大括号: 用法一:通配符扩展 eg: ls my_{finger,toe}s 这条命令相当于如下命令的组合: ls my_fingers my_toes eg: mkdir {userA,userB,userC}-{home,bin,data} 我们将得到 userA-home, userA-bin, userA-data, userB-home, user

随机推荐