SHELL

SHELL,第1张

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5694100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存