SHELL

目录

1. 运算

1.1. 算术扩展表示法

1.1.1. 加减法

目录

1. 运算

1.1. 算术扩展表示法

1.1.1. 加减法

1.1.2. 乘除法

1.2. 取值表示法

1.3. bc表示法 


1.2. 取值表示法


1. 运算

1.1. 算术扩展表示法

算术扩展符号:``,与expr配合使用

1.1.1. 加减法

#!/bin/bash

i=`expr 2 + 3`
echo i = $i # i = 5


j=`expr 5 - 2`
echo j = $j # j = 3

1.1.2. 乘除法

#!/bin/bash

#乘法
i=3
H=`expr $i \* 3`
echo H = $H # H = 9

#除法
j=`expr $H \/ 3`
echo j = $j # j = 3

1.2. 取值表示法

$(())表示法

1.2.1. 加减法

#!/bin/bash

#加法
H=$((3 + 4))
echo H = $H # H = 7

#减法
H=$(($H - 1))
echo H = $H # H = 6

#扩展
H=$((${i:-3} + 8)) #表示如果i无值就取3,然后加8
echo H = $H # H = 11

 1.2.2. 乘除法

#!/bin/bash

#乘法
H=$((3 * 4))
echo H = $H # H = 12

#除法
H=$(($H / 2))
echo H = $H # H = 6

1.3. bc表示法 

bc表示法依赖于bc计算器,可以计算浮点数

表达式:echo "[变量定义];[scacle];表达式" | bc

scacle 表示保留的小数点位数

#!/bin/bash

#加法
H=$(echo "r=2; a=3.14; b=2.13;scacle=2;r+a+b" | bc)
echo H=$H # H=7.27

#乘法
H=$(echo "r=2; a=3.14; b=2.13;scacle=2;r*a*b" | bc)
echo H = $H # H = 13.37

1.4 let表示法 

#!/bin/bash

#加法
i=0
let "i++"
echo i = $i #i = 1

let "i += 3"
echo i = $i # i = 4

#乘法
let "i *= 2"
echo i = $i # i = 8

#除法
let "i /= 2"
echo i = $i # i = 4

2. 流程控制

2.1. 循环控制

2.1.1. while表示法

#!/bin/bash

#1 冒号与while之间有一个空格。
while :
do
	echo “while”
done

#2 while与[之间有空格,[ --  ]两边符号与中间表达式有一个空格。
While [ $i –lt 10 ]
do
		echo “while”
done
	

2.1.2. for表示法

 

#!/bin/bash

#1. 
for day in {1..7}
do
	echo ”$day”
done

#2. 
week = “Sun Mon Tue Wed Thur Fri Sat”
for day in ${week}
do
	echo ${day}
done

#3.for与括号之间有空格,括号与括号之间不能有空格。
for ((n=1;n<10;n++))
do
	echo $n
done
	

2.1.3. until表示法 

#!/bin/bash

#.满足条件退出循环
n=10
until [ $n –lt 1 ]
do
	echo $n
	let “n-=2”
done

2.2. 分支控制 

2.2.1. if

#!/bin/bash

a=1
b=5
#1. 
if [ $a –lt $b ]
then
	echo “a < b”
    let "a++"
fi

#2. 
if [ $a –lt $b ]
then
	echo “a < b”
else
	echo “a >= b”
fi

#3. 
if [ $a –lt $b ]
then
	echo “a < b”
elif [ $x -lt $b ]
then
	echo “a >= b”
fi

 2.2.2.case

#!/bin/bash

n=1
case $n in
1)
	echo “aaaa”;
	echo “ccccc”;
	echo “dddd”;
;;
2)
	echo “bbbb”
;;
esac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值