Shell脚本学习笔记(三)--算术运算
2011-03-12 15:04
549 查看
算术运算
View Code
使用外部程序expr:
好处:expr的本来作用是在“标准输出”显示表达式的值。利用这一特性,可以当做一个算术运算的工具。而且,由于它是外部程序,和shell的版本没有关系,几乎在各种os平台上都可以执行。跨平台。
使用expr时,要特别注意“表达式”中是否含有bash shell的特殊字符,如*,|,<,>,!,&,(,)等,如果有要用\予以转义,否则出错。其次,在“表达式”中,运算符和操作数直接至少要有一个以上的空格符隔开。
支持的运算种类:加减...,对比样式,找出子字符串的位置,取子字符串,计算字符串长度,视关键词为一般字符串等
$[]和$(())类似
declare:
事先改变变量的属性
算式中,运算符和操作数之间不可以有空格符,要紧密连接
特殊符合不必使用\转义
算是中,可以包含其他变量,变量之前不必加$
let与之类似
View Code
#!/bin/bash declare -i a i q s=0 a=${1:-255} mask="128 64 32 16 8 4 2 1" Bmap= echo "1的二进位128 64 32 16 8 4 2 1" for i in $mask do q=$((a/i)) s=$((s+q)) [ $q -gt 0 ] && Bmap=$Bmap"__1__" || Bmap=$Bmap"__0__" a=$((a-q*i)) done echo " $s : $Bmap"
使用外部程序expr:
好处:expr的本来作用是在“标准输出”显示表达式的值。利用这一特性,可以当做一个算术运算的工具。而且,由于它是外部程序,和shell的版本没有关系,几乎在各种os平台上都可以执行。跨平台。
使用expr时,要特别注意“表达式”中是否含有bash shell的特殊字符,如*,|,<,>,!,&,(,)等,如果有要用\予以转义,否则出错。其次,在“表达式”中,运算符和操作数直接至少要有一个以上的空格符隔开。
支持的运算种类:加减...,对比样式,找出子字符串的位置,取子字符串,计算字符串长度,视关键词为一般字符串等
$[]和$(())类似
declare:
事先改变变量的属性
算式中,运算符和操作数之间不可以有空格符,要紧密连接
特殊符合不必使用\转义
算是中,可以包含其他变量,变量之前不必加$
let与之类似
相关文章推荐
- Shell脚本学习笔记(三)--算术运算
- Shell学习笔记(7)-高级变量之算术运算
- shell脚本学习笔记之sed命令用法
- shell脚本编程之if语句学习笔记
- Shell脚本学习笔记
- 学习笔记:Shell脚本-2015-08-05
- shell脚本之算术运算和逻辑运算
- shell脚本判断apcache是否启动(shell脚本学习笔记四)
- Shell脚本学习笔记(九)--文字和图形接口
- Linux系统命令及Shell脚本学习笔记二:用户管理
- 马哥教育视频学习笔记-shell脚本完成磁盘分区格式化
- 《Shell 脚本学习指南》笔记
- Linux命令shell脚本编程学习笔记-18章初识sed和gawk
- shell脚本之awk学习笔记
- shell学习笔记三--脚本初步
- linux shell编程学习笔记(5)shell运算符号和运算命令
- Shell脚本学习笔记(八)--进程管理和工作控制
- python OpenCV学习笔记(七):图片的算术运算
- Shell脚本学习笔记(十)--文件操作
- shell脚本学习笔记(一)—— shell基础及sed