shell脚本判断语句和循环语句

使用请参考:shell脚本 if的使用和判断条件

             

if判断语句

 

exit跳出判读语句

不加exit的结果

 

 

 

read

-n(不换行)

判断是否输入的是数字

read age
[[ $age =~ ^[0-9]+$ ]]
if [ $? -ne 0 ]; then
echo "你输入的不是一个数字"
exit 1
fi

 

 

case判断语句

 

 

 

 

 

#!/bin/bash
cat <<EOF
###########################################

 

欢迎学习shell编程

 

###########################################
EOF
echo
read -p "你是否同意继续学习(y/n):" ans
case $ans in
(y|Y)
echo "非常好,进行下一步操作!"
;;
(n|N)
echo "你不同意,退出!"
exit 1
;;
(*)
echo "只能输入y/n,不能输入其他的"
exit 1;;
esac
echo ----------------------------------------
echo
echo '这个是脚本的正文'

 

 

 

 

 seq 用于生成从一个数到另一个数之间的所有整数。 

-w 指定输出数字同宽 

 

`seq 1 10`----------------------为反引号

循环的控制语句

break:

如果遇到了break,break的语句不再执行了,而且要停止循环

 输出6,先打印在跳出

 break跳出用法

跳出一层循环,break后面默认为1

跳出两层循环

停止第三层循环

continue:

如果遇到了continue的话,continue后面的语句不再执行了

直接进入下一次循环

 

for循环实现简单的用于查看局域网中那个IP使用,那个IP未使用

脚本内容如下:

#!/bin/bash
for i in $(seq 253)
do
if ping 192.168.0.$i -c 2;
then
echo "192.186.0.$i is use" >> /mnt/up.txt
else
echo "192.168.0.$i id not use" >> /mnt/down.txt
fi
done

 

 

while循环,条件成立,则执行do和done之间的命令

 

 declare变量声明

-i:将变量声明为整型

 

 

 

 

写一个脚本统计文件行数

 head用来显示档案的开头至标准输出当中,默认head命令打印其相应文件的开头10行。

Linux输出重定向>和>>的区别是什么?简单说>是覆盖,>>是追加

# head /etc/passwd > passwd

命令查看文件行数

# wc -l /etc/passwd

 

 统计行数脚本如下:

 

使用

 

 

 

while死循环

不停的开启vsftpd这个服务

until循环,条件不成立,则执行do和done之间的语句。

until和while相反。

until 循环执行一系列命令直至条件为 true 时停止。

 

 

转载于:https://www.cnblogs.com/djlsunshine/p/9697312.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值