Linux的Shell脚本——day3——循环、echo颜色

13 篇文章 0 订阅

for 循环

for  变量名  in  值列表
do
    命令序列
done

  值列表:
     {1..10}  产生1到10的多个数字的列表,但是里面不能有变量
     $(seq $起始数  $终止数字)   可以用变量生成多个数据


类C++的for循环

for ((i=1;i<=5;i++))
do
   命令序列
done

for的无限循环

for ((i=1;i<=$[i+1];i++))
do
   命令序列
done

ping命令

   作用 :可以测试某台主机的连通性

  使用-c选项可以设置ping的次数,
  使用-i选项可以设置多次ping之间的间隔时间(单位秒),
  使用-W选项可以设置ping不通时的超时时间(单位秒)。


while循环

基本格式:

while  条件测试
do
    命令序列
done

    符合条件的话,执行下面的语句,执行完后进行判断,成功就继续循环执行,失败就退出循环

无限循环

while :
do
    命令序列
done

case检索

 case  $变量  in
 模式1)
    命令序列1 ;;
 模式2)
    命令序列2 ;;
 *)
    默认命令序列
 esac

    检索变量 和下面的各个模式,匹配后就执行后面的语句

    注意: 1.每个模块的命令中,最后一个命令后面要加;;
                2.变量前面要加$ ,如果没有$,就是拿变量名进行匹配
                3.这里只能做等值匹配,也就是说只有相同匹配,不同不匹配,不能大小逻辑匹配


函数

函数名() {
    命令序列
    .. ..
}

调用
   函数名  参数1 参数2
   其中参数1在函数中用$1代表,可以吧函数当做一个脚本,基本的变量都能用

取消一个函数的定义
   unset 函数名 


echo的特殊用法
     echo -e "\033[$编号m $内容 \033[0m"

1加粗7变成反色,既背景色和字体色对调
3斜体9字体中间划线
4下划线  
 
30字黑色90字浅黑色
31字红色91字浅红色
32字绿色92字浅绿色
33字黄色93字浅黄色
34字蓝色94字浅蓝色
35字紫色95字浅紫色
36字天蓝色96字浅天蓝色
37字白色97字浅白色
 
40背景黑色44背景蓝色
41背景红色45背景紫色
42背景绿色46背景天蓝色
43背景黄色47背景白色

后台执行

{
   命令1
   命令2
   命令……
} &

    这就可以使命令在后台执行,配合循环,可以实现多线程,大大提高效率

    在程序后面加入 wait  可以使得等所有在后台子进程结束脚本结束

fork炸弹 命令行中输入   

 .(){ .|.&};.

     原理,定义一个函数,名叫 "."  ,然后函数中的内容就是在后台调用 "." 这个函数,导致内存瞬间消耗殆尽,致使死机


中断

continue结束本次循环的一次循环,跳过下面语句的,但是仍然继续循环
break结束循环
exit结束脚本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值