一、if循环
if循环控制单分支
eg:
#!/bin/bash
if [ -e /home/study/day7/4.txt ]; then
echo "文件存在"
else
touch /home/study/day7/4.txt
fi
if循环多分支
if [ ]; then
command
elif [ ]; then
command
elif [ ]; then
command
else
fi
for 循环
(1)for 变量名 in 值1 值2 值3
do
执行动作
done
#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do
echo $i
sleep 2
done
(2)for 变量名 in `命令`
do
执行动作
done
for i in `seq 1 10`
do
echo $i
sleep 1
done
for i in $(cat 1.txt)
do
echo $[ $i + $1 ]
done
(3)for ((条件))
do
执行动作
done
#!/bin/bash
for (( i = 0; i < 11; i++ )); do
echo $i
done
#!/bin/bash
sum=0
for (( i = 0; i < 11; i++ )); do
sum=$[ $sum + $i ]
done
echo $sum
对比python的for循环
sum = 0
for i in range(11):
sum = sum + i
print(sum)
case循环控制
应用场景:case循环常使用于多重分支,与if不同的是,if可以判断多个条件,case一次只能判断一种条件
语法结构:
case 变量 in
值1 )
执行动作1
;;
值2 )
执行动作2
;;
值3 )
执行动作3
;;
....
esac
#!/bin/bash
case $1 in
1)
echo "您输入的值为1"
;;
2)
echo "您输入的值为2"
;;
3)
echo "您输入的值为3"
;;
4)
echo "您输入的值为4"
;;
esac
while 循环
应用场景:while循环是条件循环也是不定循环,只要条件判断式成立,循环就会一直进行着。直到判断式不成立 或者 选择跳
出循环 才会结束
语法结构:
while [ 条件判断式 ]
do
执行动作
done
#!/bin/bash
i=0
sum=0
while [ $i -lt $1 ]; do
sum=$[ $sum + $i ]
i=$[ $i + 1 ]
done
echo "和为:$sum"
对比python的while循环
i = 0
sum = 0
while i < 11:
sum = sum + i
i += 1
print(sum)
一、定义函数
方法一
function name() {
command
}
name为函数名称
{}内写相关命令
方法二
name(){
command
}
eg:
func1() {
echo "hello word"
}
count=1
while [ $count -le 5 ]; do
func1
count=$[ $count + 1 ]
done
func1
echo "end"
函数使用前必须先定义函数,否则会报错
函数名称必须是唯一的,如果重新定义了函数,新的定义会覆盖原来的定义,这不会产生任何报错信息。
eg:
func1(){
echo "123"
}
func1
func1(){
echo "456"
}
func1
echo "end
执行结果如下:
二、函数返回值
使用return命令
bash shell 使用return命令
#!/bin/bash
function db1() {
read -p "请输入一个值:" value
echo $[ $value * 2 ]
}
result=$(db1)
echo "$result"