Shell脚本学习——基础语法阶段二
一.条件语句(如C语言中的 if else)
在
Shell脚本
中if else
嵌套的原理和C语言相似
if [ 条件 ]
then
else
fi #一个if结尾不能少了fi
Demo:
#!/bin/bash
echo "Please Input you Data"
read data
if [ $data -gt 0 -a $data -lt 100 ]
then
echo "Yes , data in [0-100]"
else
echo "error"
fi
二.选择语句 case
case "条件" in
*)
;;
*)
;;
esac
Demo:
条件判断中 通过 管道 | 可以实现多结果判断
#!/bin/bash
echo "请输入数据"
read data
case "$data" in
yes | Y | Yes | YES | YEs) echo "good"
;;
y) echo "nice"
;;
no) echo "fuck"
;;
n) echo "shift"
;;
*) echo "error"
;; # 可省略最后的 ;;
esac # 和 if fi 一样,必备成套的
exit 0
三.循环语句 for 和 while
(1)while循环
结构:
while [条件]
do
# 代码执行段
done
死循环while为:
while true
do
# 代码执行段
done
Demo1:
#!/bin/bash
I=0
while [ $I -lt 5 ]
do
I=`expr $I + 1`
echo -n "Please student score: "
read S
case `expr $S / 10` in
10|9)
echo "The Student : A"
;;
6|7|8)
echo "The Student : B"
;;
*)
echo "The Student : C"
;;
esac
echo "I=$I"
done
Demo2:
#!/bin/bash
I=0
while true
do
I=`expr $I + 1`
echo -n "Please student score: "
read S
case `expr $S / 10` in
10|9)
echo "The Student : A"
;;
6|7|8)
echo "The Student : B"
;;
*)
echo "The Student : C"
;;
esac
echo "I=$I"
done
(2)for循环
结构:
for * in 条件
do
done
for(( *; *;* ))
do
done
Demo:
#!/bin/bash
sum=0
echo "-----------------------------"
for I in `seq 1 10`
do
echo "I=$I"
sum=`expr $I + $sum`
done
echo "sum = $sum"
echo "-----------------------------"
for ((I = 1 ; I <= 10 ; I++))
do
echo "I = $I"
done
echo "-----------------死循环-------------"
for((;;))
do
echo "si le"
sleep 5s
done
(3)break 和 continue
break n ( n 表示跳出的层数 )
Demo1:
if [ $# -lt 5 ]
then
exit
fi
echo "---------------------------------"
for I
do
if [ `expr $I % 2` -eq 1 ]
then
echo "I=$I"
else
continue
fi
done
echo "---------------------------------"
for I
do
if [ `expr $I % 2` -eq 1 ]
then
echo "I=$I"
else
break
fi
done
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/68441.html