首页 > 系统相关 >Linux系统Shell脚本:for、while循环及脚本实操

Linux系统Shell脚本:for、while循环及脚本实操

时间:2023-02-14 17:44:41浏览次数:48  
标签:脚本 10 Shell 示例 break while continue 循环

一、echo命令

echo -n 表示不换行输出
echo -e 输出转义字符,将转义后的内容输出到屏幕上


常见转义字符:

 

 

示例1:echo -n 表示不换行输出

 

 

 示例2:echo -e 输出转义字符,将转义后的内容输出到屏幕上,\b转义后相当于按退格键,但前提是b后面存在字符: b表示删除前一个字符,\b\b表示删除前两个字 符

 

 

 

示例3:\c不换行输出

 

 

 

示例4:\n 换行输出

 

 

 示例5:\f 、\v换行输出

 

 

示例6:\t制表符显示

 

 

 

示例7:\r光标移至行首不换行

 

 

 

 示例8:\\表示符号本身

 

 示例9: 删除字符的方法:

 

 

 示例10: 截取字符的方法:

 

 

 示例11: 增加字符串的方法

 

 

 

二、查看当前系统的时间—date命令

格式:
date [选项]... [+格式]
#查看当前日期
[root@localhost while]#date +%F
2021-10-21

#查看当前日期及时间
[root@localhost while]#date +%F" "%H:%M:%S
2021-10-21 14:27:44

#前三天
[root@localhost while]#date -d "-3 day"
2021年 10月 18日 星期一 14:30:21 CST

#后三天
[root@localhost while]#date -d "+3 day"
2021年 10月 24日 星期日 14:30:13 CST

#查看日历
[root@localhost while]#cal 2023

 

 

 

三、for循环语句

  • 用法:

    • 读取不同的变量值,用来逐个执行同一组命令

    • for循环经常使用在已经知道要进行多少次循环的场景

  •  

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

  •  

     示例1: 循环出0到10之间的整数

  • 法一:
    for i in {1..10}
    do
    echo $i
    done

    法二:
    #!/bin/bash
    for i in $(seq 1 10)
    do
    echo $i
    done

  •  

     

  •  

    示例2:for i in *;do echo $i;done查看当前目录下所有内容 

  •  

     

    示例3:求1..10奇数和

    #/bin/bash
    sum=0
    for i in {1..10..2}
    do
    sum=$[sum+i]
    let i++
    done
    echo "10以内的奇数和为:$sum"

  •  

     示例4:批量创建用户并修改密码

  • #!/bin/bash
    for user in {1..10}
    do
    echo stu${user}|xargs -n1 useradd
    echo "123123"|passwd --stdin stu${user}
    done

  •  

     

     

     示例5:批量改名

  • #!/bin/bash
    cd /data1
    for i in *
    do
    name=`echo $i |cut -d "." -f1`
    mv $i ${name}.bak
    done

  •  

     

    四、while循环语句结构(迭代)

    • 用法:

      • 重复测试某个条件,只要条件成立则反复执行
      • 常在不知道范围的时候成立
    • 格式:

    • while 条件测试操作
      do
      命令序列
      done

  •  

     示例:猜数字小游戏

  • #!/bin/bash

    pc_num=$[RANDOM%3+1]
    count=0
    while true
    do
    read -p "请输入一个数字:" user_num
    if [ $user_num -eq $pc_num ]
    then
    echo "答对啦"
    break
    elif [ $user_num -gt $pc_num ]
    then
    echo "你的数字太大了"
    else
    echo "你的数字太小了"
    fi
    let count++
    done
    echo 你输入的次数为:$count

  •  

     

    五、until 循环语句结构

    • 用法: 重复测试某个条件,只要条件不成立则反复执行

    • 格式:

    • until 条件测试操作
      do
      命令序列
      done

    •  

       示例:求1到100的和

    • #!/bin/bash
      sum=0
      i=0
      until [ $i -gt 100 ]
      do
      sum=$[sum+i]
      let i++
      done
      echo "{1..100}的和:$sum"

    •  

       

      六、continue和break
      break和continue都是用来控制循环结构的,主要是停止循环。

      break 有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。 这时我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。

      continue continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。 可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。

      continue和break使用方法:

      break:

      1、语法 break 将用于以下break语句退出循环:

      2、break n 这里n指定的第n个封闭的循环退出。

      continue:

      1、语法 continue 和break语句一样,一个整数参数可以给continue命令跳过嵌套循环的命令。

      2、continue n 这里n指定第n个封闭循环 continue 。

标签:脚本,10,Shell,示例,break,while,continue,循环
From: https://www.cnblogs.com/esec/p/17120400.html

相关文章

  • Linux系统Shell脚本:shell数组、正则表达式及文件三剑客之AWK
    一、shell数组1、数组分类①关联数组:必须声明才可以使用,命令:delare-A数组名②普通数组:利用数字下标节约变量,可以不声明也可以声明,命令:delare-a数组名delare-a命令也......
  • 用 shell 脚本做命令行工具扩展----服务器客户端之间文件传输
    问题的提出公司开发机与远程服务器之间有严格的隔离策略,不能直接使用ssh登录,而必需通过跳板机。这样一来,本地与服务器之间的一些文件传输变得非常不便。经过咨询,运维教......
  • shell编程(2)之全局变量
    全局变量查看全部的全局变量:env或printenv全局变量可以用于进程的所有的子进程三种创建全局变量的方式export变量名=value变量名=value;export变量名#......
  • java基础知识点(while循环、do....while循环以及while和for循环之间
    一:循环1.格式:初始化语句;      while(条件判断语句){       循环体语句;  .​     条件控制语句;}​2.eg:intx=1;//定义变量初始......
  • Xshell从服务器下载文件到本地
    步骤/方法1.首先安装linux工具lrzsz,使用linux命令(yum-yinstalllrzsz)2.查看要下载的文件,比如要下载LiveRamp_BF.7z3.输入szLiveRamp_BF.7z命令,然后回......
  • linux shell 字符串处理过滤方法
    1.grep文本过滤命令grep中的正则表达式^westos#以westos开头westos$#以westos结尾'w....s''w.....''.....s'grep-E=egrep应用:cp/etc/passwd/mntc......
  • 使用 shell 脚本拼接 srt 字幕文件 (srtcat)
    背景前段时间迷上了做B站视频,主要是摩托车方面的知识分享。做的也比较粗糙,就是几张图片配上语音和字幕进行解说。尝试过自己解说,发现录制视频对节奏的要求还是比较高的,......
  • Linux远程工具FinalShell
    FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.特色功能:云端同步,免费海外服务器远程桌面加速,ssh加......
  • shell内部命令-echo|
    1.echoLinux中echo命令主要用于打印字符或者回显,一般起到一个提示的作用。1.1语法echo[选项][输出内容]1.2参数-n不在最后自动换行。-e使用-e扩展参数......
  • 电商网站Web自动化测试实战( 编写京东搜索脚本python+selenium框架)
    电商网站Web自动化测试实战(编写京东搜索脚本)1,打开京东页京东首页地址:https://www.jd.com/,故进入京东首页如下:2,打开浏览器开发者模式定位元素前需先打开浏览器开发者......