分支
9 if语句
创建command.sh文件:vi command.sh
#! /bin/bash
date
echo "打印完时间,表示已经执行了command.sh文件了。"
echo "调用ls指令,查看目录下内容。"
ls
echo "调用pwd指令,查看当前工作目录:"
pwd
lihoon@lihoon:~/code/Linux_shell$ ls
command.sh sample.sh Shell笔记2.md temp.sh
note.txt shell笔记1.md temp temp.txt
lihoon@lihoon:~/code/Linux_shell$ vi command.sh <<==创建文件,输入上述内容
lihoon@lihoon:~/code/Linux_shell$ if [ -f command.sh ]; then <<==if判断语句
> source command.sh <<==执行command.sh文件
> fi <<==if语句结尾
2020年 08月 05日 星期三 23:44:48 CST
打印完时间,表示已经执行了command.sh文件了。
调用ls指令,查看目录下内容。
command.sh sample.sh Shell笔记2.md temp.sh
note.txt shell笔记1.md temp temp.txt
调用pwd指令,查看当前工作目录:
/home/lihoon/code/Linux_shell
10 case语句
创建f.sh文件,内容如下:
#! /bin/sh
echo "Is it morning? Please answer yes or no:"
read Yes_or_no <<==读取输入值
case "$Yes_or_no" in
yes|y|Yes|YES) <<==变量值满足这4类条件之一时执行下一行( |表示或)
echo "Good morning.";;
[n|no|N|NO|No]*) <<==变量值满足这5类条件之一时执行下一行
echo "Good afternoon.";;
*) <<==其他情况,类似于C++中的default
echo "Sorry, I can't understand."
return 1;;
esac <<==case结束符
在终端运行f.sh文件
lihoon@lihoon:~/code/Linux_shell$ source f.sh (注意:需要使用chmod指令修改文件权限为7xx)
Is it morning? Please answer yes or no:
y
Good morning.
11 for循环:for/do/done
创建for.sh文件,写入如下内容:
#! /bin/sh
for FRUIT in apple banana peer; do
echo "I like "$FRUIT.""
done
在终端运行for.sh文件
lihoon@lihoon:~/code/Linux_shell$ ./for.sh
I like apple.
I like banana.
I like peer.
12 whie循环
创建while.sh文件,写入如下内容,用于测试输入密码
#! /bin/sh
echo "Please enter password:"
# 用于统计输入次数
CONTOUR=1
#读取输入的密码值
read PASSWORD
while [ "$PASSWORD" != "lihoon123" -a $CONTOUR -lt 3 ]; do
echo "Error, try again:"
read PASSWORD
CONTOUR=$(($CONTOUR+1))
done
# while执行完成后,判断密码是否正确
if [ "$PASSWORD" = "lihoon123" ];then
echo "############################"
echo "Welcom to ubuntu for lihoon."
echo "############################"
else
echo "You are not the owner."
fi
在终端执行文件(前提是修改文件权限为可执行权限):
lihoon@lihoon:~/code/Linux_shell$ ./while.sh
Please enter password:
lihoon
Error, try again:
lihoon123
############################
Welcom to ubuntu for lihoon.
############################
lihoon@lihoon:~/code/Linux_shell$ ./while.sh
Please enter password:
lihoon
Error, try again:
lihoon
Error, try again:
lihoon
You are not the owner.
13 break和continue
break[n]——指定跳出几层循环;
continue——跳过本次循环,但是不跳出循环;