shell中如何进行算术运算:
- let 算术运算表达式:
let C=$A+$B
root@VM-0-3-ubuntu:/home/ubuntu# A=3
root@VM-0-3-ubuntu:/home/ubuntu# B=6
root@VM-0-3-ubuntu:/home/ubuntu# C=$A + $B
+: command not found
# 周围我添加了空格
root@VM-0-3-ubuntu:/home/ubuntu# C=$A+$B
root@VM-0-3-ubuntu:/home/ubuntu# echo $C
3+6
root@VM-0-3-ubuntu:/home/ubuntu# let C=$A+$B
root@VM-0-3-ubuntu:/home/ubuntu# echo $C
9
-
$ [ 算术运算表达式]
:C=$[$A+$B]
$(($A+$B))
- expr 算术表达式:表达式中各操作数及运算符之间要有空格,而且要使用命令引用:F=
exper $A + $B
曾经使用过for循环计算{1..100}之间的和:
$ nano cap.sh
$ bash cap.sh
The sum is :5050.
$ cat cap.sh
#! /bin/bash
#
declare i SUM=0
for I in {1..100}; do
let SUM=$[$SUM+$I] # 试试不加let
done
echo "The sum is :$SUM."
let的进一步学习:
let I=$[$I+1]
SUM=$[$SUM+SI]相当于 let SUM+=$I
let I+=1 相当于 let I++(只能每次都是加一才能使用++
# 变量I减去/加上/乘以/除以某个数。并保存回变量I中:
ubuntu@VM-0-3-ubuntu:~$ I=10
ubuntu@VM-0-3-ubuntu:~$ echo $I
10
ubuntu@VM-0-3-ubuntu:~$ let I++
ubuntu@VM-0-3-ubuntu:~$ echo $I
11
ubuntu@VM-0-3-ubuntu:~$ let I-=1
ubuntu@VM-0-3-ubuntu:~$ echo $I
10
ubuntu@VM-0-3-ubuntu:~$ let I-=1
ubuntu@VM-0-3-ubuntu:~$ echo $I
9
ubuntu@VM-0-3-ubuntu:~$ let I*=3
ubuntu@VM-0-3-ubuntu:~$ echo $I
27
ubuntu@VM-0-3-ubuntu:~$ let I/=3
ubuntu@VM-0-3-ubuntu:~$ echo $I
9
ubuntu@VM-0-3-ubuntu:~$ let I%=3
ubuntu@VM-0-3-ubuntu:~$ echo $I
0
求1..100之间偶数/奇数的和,并显示出来:
ubuntu@VM-0-3-ubuntu:~$ ./sh07.sh
EVENSUM=2550
ODDSUM=2500
ubuntu@VM-0-3-ubuntu:~$ cat sh07.sh
#/bin/bash
#
declare -i EVENSUM=0
declare -i ODDSUM=0
for I in {1..100}; do
if [ $[ $I%2 ] -eq 0 ];then
let EVENSUM+=$I
else
let ODDSUM+=$I
fi
done
echo "EVENSUM=$EVENSUM"
echo "ODDSUM=$ODDSUM"
生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
请猛戳下面链接:
B站链接:https://m.bilibili.com/space/338686099
YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists
生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA
网友评论