Shell基础 Chapter4:流程控制、read读取控制台输入

1 if判断

1 格式

if [ condition ];then
	语句体
fi

或者
if [ condition ]
then
	语句体
fi

或者
if [ condition ] 
then 
	语句体
elif [ condition ] 
then 
	语句体
fi

注意:if和elif后面要有空格,condition前后要有空格

2 案例

需求:如果输入参数为1,输出one,输入参数为2,输出two,如果输入其他什么也不做
[root@master data]# cat test.sh
if [ $1 -eq 1 ];then
        echo one
elif [ $1 -eq 2 ]
then
        echo two
fi

[root@master data]# sh test.sh 1
one
[root@master data]# sh test.sh 2
two
[root@master data]# sh test.sh 3
[root@master data]#

2 case语句

1 格式

case $变量名 in
1)
	程序
;;
2)
	程序
;;
*)
	程序
esac

双分号表示命令序列结束,相当于Java中的break
最后的*)表示默认模式

2 案例

[root@master data]# cat test.sh
case $1 in
1)
        echo one
;;
2)
        echo two
;;
*)
        echo 其他
esac
[root@master data]# sh test.sh 1
one
[root@master data]# sh test.sh 3
其他
[root@master data]#

3 for循环

1 格式

for((初始值;循环控制条件;变量变化)
do
	程序
done

或
for 变量 in 值1 值2 值3
do
	程序
done

2 案例

需求1:从1加到100
vim test.sh

s=0
for((i=1;i<=100;i++))
do
	s=$[s+i]
done
echo $s
需求2:打印输入参数
vim test.sh
for i in 1 2 3 4
do
	echo $i
done

4 while循环

1 格式

while [ 判断条件 ]
do
	程序
done

2 案例

需求:从1累加到100
vim test.sh
s=0
i=1
while [ $i -le 100 ]
do
	s=$[s+i]
	i=$[i+1]
done
echo $s

5 read读取控制台输入

1 格式

read -t 时间 -p 提示 变量
-t 限制输入时间,单位为秒
-p 提示信息

2 案例

控制台输入你擅长语言,并且输出,限时5秒

vim test.sh
read -t 5 -p "请输出语言" langugage
echo $language

[root@master data]# sh test.sh
请输出语言java
java
[root@master data]#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EmoGP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值