Linux Day23:let

作者: 泥人吴 | 来源:发表于2018-11-15 23:55 被阅读8次

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

学徒培养:https://mp.weixin.qq.com/s/3jw3_PgZXYd7FomxEMxFmw

相关文章

网友评论

    本文标题:Linux Day23:let

    本文链接:https://www.haomeiwen.com/subject/ganufqtx.html