shell中的运算

一.运算符号

|------|-----------|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| % | 除法后的余数 |
| ** | 乘方 |
| ++ | 自加一 |
| -- | 自减一 |
| < | 小于 |
| <= | 小于等与 |
| > | 大于 |
| >= | 大于等与 |
| = | 等于 |
| += | j+=i =j+i |
| *= | j=j*i |
| /= | j=j/i |
| %= | j=j%i |

二.运算指令

|-------------------|---------------|
| (()) | ((a=1+2)) |
| let | let a=1+2 |
| expr | expr 1 + 2 |
| bc | |
| bc << EOF | |
| 1+2 | |
| EOF | |
| \[\] | echo [1+2] |
| printf '%0.2f' .3 | ==== 0.30 |
| printf '%0.3f' .3 | ====0.300 |
| printf '%0.4f' .3 | ====0.3000 |

练习

创建脚本,设定倒计时为1:10,自动进行倒数,时间到时退出脚本。

复制代码
m=1
s=10
t=$((m*60+s))
for((t;t>=0;t--))
do
        m=$((t/60))
        s=$((t%60))
        echo -ne "$m:$s"
        sleep 1
        echo -ne "\r"
done
相关推荐
有谁看见我的剑了?18 小时前
ubuntu 22.04 /etc/fstab 文件修改有误导致无法进入系统处理
linux·运维·ubuntu
月昤昽19 小时前
ArchLinux更新遇到的GPG签名验证问题
linux·bash·archlinux
L16247619 小时前
临时拉高 CPU 利用率(防缩容)操作全总结(linux和windows系统)
linux·运维·windows
Gofarlic_OMS19 小时前
UG/NX许可证管理高频技术问题解答汇编
java·大数据·运维·服务器·汇编·人工智能
小松加哲19 小时前
服务器LVM磁盘内部空闲空间无损扩容+挂载原理+MySQL Binlog自动清理完整实操
运维·mysql·服务器扩容
咸鱼梦想家π19 小时前
Linux开发工具(中)
linux·运维·服务器
大卡片19 小时前
TCP、IP和TFTP协议
服务器·网络·tcp/ip
网络安全许木19 小时前
自学渗透测试第29天(Linux SUID/SGID基础实验)
linux·运维·服务器·web安全·渗透测试
JiaWen技术圈19 小时前
conntrack-tools 用法
linux·运维·服务器·安全·运维开发
IT界的老黄牛19 小时前
MySQL 磁盘告警 1.2TB:从衣柜原理到 gh-ost 卧底,一次释放 540GB 的实战复盘
运维·数据库·mysql