## 1.使用let
```
a=2
b=3
c=4
d=5
e=2
let "a+=1"
let "b=b*c"
let "c=c/2"
let "d=--d"
let "e=e**3"
echo "a=$a,b=$b,c=$c,d=$d,e=$e"
```
> 1.let几乎支持所有的运算符
> 2.方幂运算应使用“**”
> 3.参数在表达式中直接访问,不必加$
> 4.一般情况下算数表达式可以不加双引号,但是若表达式中有bash中的关键字则需加上
> 5.let后的表达式只能进行整数运算
## 2.使用(()),使用与let完全相同
```
a=2
b=3
c=4
d=5
e=2
((a+=1))
((b=b*c))
((c=c/2))
((d=--d))
((e=e**3))
echo "a=$a,b=$b,c=$c,d=$d,e=$e"
```
## 3.使用$[]
```
a=2
b=3
c=4
d=5
e=2
a=$[$a+1]
b=$[$b*$c]
c=$[$c/2]
d=$[$d-1]
e=$[$e**3]
echo "a=$a,b=$b,c=$c,d=$d,e=$e"
```
> 1.$[]将中括号内的表达式作为数学运算先计算结果再输出
> 2.对$[]中的变量进行访问时前面需要加$
> 3.$[]支持的运算符与let相同,但也只支持整数运算
## 4.使用expr
```
a=2
b=3
c=4
d=5
e=2
a=`expr $a + 1`
b=`expr $b \* $c`
c=`expr $c / 2`
d=`expr $d - 1`
e=`expr $e \* $e \* $e`
echo "a=$a,b=$b,c=$c,d=$d,e=$e"
```
> 1.expr后的表达式个符号间需用空格隔开
> 2.expr支持的操作符有: |、&、=、>、+、-、\*、/、%
> 3.expr支持的操作符中所在使用时需用\\进行转义的有:|、&、=、>、\*
> 4.expr同样只支持整数运算
## 4.使用bc(可进行浮点数计算)
```
a=2
b=3
c=4
d=5
e=2
a=`echo "$a+1" | bc`
b=`echo "$b*$c" | bc`
c=`echo "$c/2" | bc`
d=`echo "$d-1" | bc`
e=`echo "$e^3" | bc`
echo "a=$a,b=$b,c=$c,d=$d,e=$e"
```
> bc是linux下的一个简单计算器,支持浮点数计算,在命令行下输入bc即进入计算器程序,而我们想在程序中直接进行浮点数计算时,利用一个简单的管道即可解决问题。
> 1.bc支持除位操作运算符之外的所有运算符
> 2.bc中要使用scale进行精度设置
> 3.浮点数计算实例
```
var=3.14
var=`echo "scale=2;$var\*3"|bc`
echo $var
输出结果为9.42
```
## 5.使用awk (可进行浮点数计算)
```
var=3.14
var=`echo "$var 2"|awk '{printf("%g",sin($1/$2))}'`
echo $var
```
- 0 工具
- 0.1 图片无损放大
- 1 deepin系统
- 1.1 deepin系统安装
- 1.2 deepin创建desktop文件
- 1.3 浏览器运行虚拟机
- 1.4 linux的百度网盘突然打不
- 1.5 deepin安装后个人配置
- 1.5.1 安装公式编辑器AxMath
- 1.5.2 Deepin标题栏太高的解决办法(自定义高度)
- 1.5.3 linux下配置VS Code的标题栏风格
- 1.5.4 安装脚本解释器fish
- 1.6 关于软件安装
- 1.6.1 rpm和deb包想换转换的方法
- 1.7 deepin开机自启的设置方法
- 2 tiny core系统
- 2.1 安装系统到硬盘
- 2.2 系统软件安装介绍
- 2.3 安装控制台计算器bc
- 2.4 关机保存的方法
- 2.5 linux文件结构说明
- 2.6 为tinycore配置ssh
- 3 使用Linux中的一些技巧
- 3.1 软连接的使用
- 3.2 LInux下解压
- 3.3 删除操作
- 3.4 Zenity-在命令行和Shell脚本中创建图形(GTK +)对话框
- 3.4.1 列表框
- 3.4.2 口令对话框
- 3.4.3 消息对话框
- 3.4.3.1 信息对话框
- 3.4.3.2 错误框
- 3.4.3.3 问题对话框
- 3.4.3.4 警告对话框
- 3.4.4 范围对话框(滑条)
- 3.4.5 文件选择对话框
- 3.4.6 表单对话框
- 3.4.7 文本信息框
- 3.4.8 进度框
- 3.4.9 文本输入框
- 3.4.10 通知区域图标
- 3.4.11 日历对话框
- 3.4.12 颜色对话框
- 3.4.13 上述对话框测试文件
- 3.4.14 使用C++调用zenity
- 3.5 Linux whereis、find和locate命令
- 3.6 字体下载
- 3.7 使用Electron 创建跨平台的应用程序
- 3.8 shell的使用
- 3.8.1 $$,$?等表示什么
- 3.8.2 shell随机产生某一个范围内的整数
- 3.8.3 写shel脚本的一些使用操作
- 3.8.4 linux shell操作二进制文件
- 3.8.5 shell中的一些实用技巧
- 3.8.5.1 列出当前路径下的所有文件夹
- 3.8.5.2 列出当前路径下所有文件
- 3.8.5.3 获取当前虚拟终端的大小
- 3.8.5.4 判断输入字符串是否为数字
- 3.8.5.5 bash中的数学运算
- 3.8.5.6 按照文件创建时间顺序列出文件
- 3.8.5.7 echo输出含空格不换行的设置方法
- 3.8.5.8 find 递归/不递归 查找子目录的方法
- 3.8.5.9 echo显示颜色设置
- 3.8.5.10 bash中使用${}字符操作方法
- 3.8.5.11 ls查找目录,文件,软连接等的方法
- 3.8.5.12 检测某个程序是否在运行
- 3.8.5.13 bash/shell 解析命令行参数工具:getopts/getopt
- 3.8.5.14 获取脚本的绝对路径
- 3.8.6 使用bash写的脚本管理脚本
- 3.9 Linux创建自定义命令
- 3.10 deepin挂载远程文件夹到本地
- 3.11 linux root用户添加用户
- 3.12 实用脚本或者命令
- 3.12.1 命令行 将ppt转换为 pdf
- 3.12.2 deepin上实现自定义命令
- 4 slitaz系统
- 4.1 系统安装
- 4.2 安装软件命令tazpkg
- 4.3 使用说明
- 4.4 用 tazlito 构建 livecd自制linux系统
- 4.5 英文显示支持设置方法
- 4.6 配置ssh
- 5 busybox的编译使用
- 5.1 busybox介绍
- 5.2 busybox编译使用
- 6 配置自己的linux
- 6.1 在deepin上编译linux内核
- 7 每天一个linux命令
- 7.1 文件管理类
- 7.1.1 cat--接文件并打印到标准输出设备上
- 7.1.2 chattr--改变文件属性
- 7.1.3 chgrp--变更文件或目录的所属群组
- 7.1.4 chmod --控制文件如何被他人所调
- 7.1.5 chown命令--指定文件的拥有者改为指定的用户或组
- 7.1.6 grep命令--用于查找文件里符合条件的字符串
- 7.1.7 其他
- 7.2 文档编辑类
- 7.2.1 col--过滤控制字符
- 7.2.2 colrm--滤掉指定的行
- 7.2.3 comm --比较两个已排过序的文件
- 7.2.4 awk--一种处理文本文件的语言,是一个强大的文本分析工具
- 7.2.5 sed命令
- 7.3 文件传输类
- 7.3.1 prm--将一个工作由打印机贮列中移除
- 7.4 磁盘管理类
- 7.4.1 cd--切换当前工作目录至 dirName(目录参数)。
- 7.4.2 df--显示目前在Linux系统上的文件系统的磁盘使用情况统计
- 7.4.3 dirs--显示目录记录
- 7.4.5 du--显示目录或文件的大小
- 8 其他系统
- 8.1 Alpine Liunx
- 8.1.2 简介
- 8.1.2 本地安装
- 8.1.3 apk软件包管理
- 8.1.4 配置ssh