zoukankan      html  css  js  c++  java
  • day12 bash中的if、for

    bash

     1 变量bash
     2     定义:x=1
     3     作用:记录状态
     4     规则:字母开头,后面可以接字母、数字、下划线
     5         export args:将变量定义为全局变量
     6         $$[]:括号中可以进行简单的数学整数运算,可以用echo打印出输出的结果
     7         (()):两个括号中可以进行逻辑运算
     8         $?:查看上次命令执行结果,非零表示失败
     9         ==:判断
    10         !=:不等于
    11         &&:逻辑与
    12         ||:逻辑或
    13         ((x+=1))/x=$[$x+1]:x+1的运算
    14         expr 1 + 2:有空格,像当与1+2
    15         echo 'scale=2;1/3'|bc -l:取1/3的两位小数
    16         echo 'scale=2;1/3'|bc -l|cut -d'.' -f2:取两位小数,用.将它分割,取第二部分
    17     test向当与[  ]有空格:
    18         中间加 -a and
    19                -o or
    20                 = 测试左右字符串是否为空
    21                != 不等于
    22               -eq 判断整数是否相等
    23               -ne 不相等
    24                -b 后面加文件名,判断文件是否存在且为块设备
    25                -d 后面加文件名,判断文件是否为文件
    26                -e 后面加文件名,判断文件是否为存在
    27                -f 后面加文件名,判断文件是否为存在且为普通文件
    28                -h 后面加文件名,判断文件是否为链接文件
    29                
    30                
    31         前面加 -n 不为空即正确
    32                -z 长度为零即为空
    33         

    if判断

    1 #!/bin/bash
    2 read -d 'username:  ' user
    3 read -d 'paddword:  ' password
    4 
    5 if [ $user = 'alex' -a $password = 'alex' ];then
    6     echo 'login successful'
    7 fi

    while循环

     1 #!/bin/bash
     2 
     3 oldboy_age=57
     4 
     5 while :                       # :表示真
     6     do
     7         read -p 'age: ' age
     8 
     9         if [ -z $age ]
    10             then
    11                 echo 'None!!'
    12                 continue
    13             fi
    14 
    15         if [ $age -eq $oldboy_age ]
    16             then
    17                 echo 'Done'
    18                 break
    19         elif [ $age -lt $oldboy_age ]
    20             then
    21                 echo 'Too young'
    22         elif [ $age -gt $oldboy_age ]
    23             then
    24                 echo 'Too old'
    25         else
    26                 echo 'Wrong!!'
    27         fi
    28     done

    for循环

     1 for 循环形式 1
     2 #!/bin/bash
     3 
     4 for i in {1..5}
     5     do
     6         echo $i
     7     done
     8 
     9 =========================================================
    10 ping -c1 192.168..   ping 一次
    11 ping -c1 192.168.. &> /dev/null     不在终端显示
    12 tail -f /tmp/..    动态查看地址
    13 
    14 
    15 for i in $(ls)
    16 do
    17     # 依次打印出目录
    18 done
    19 ========================================================
    20 
    21 bash for 循环形式 2
    22 #!/bin/bash
    23 
    24 for ((i=1;i<=9;i++))
    25 do
    26     echo $i
    27 done
    28 =======================================================
    29 打印格式
    30 echo -n ''  不换行

    检测IP

     1 ping IP
     2 #!/bin/bash
     3 
     4 ip_head='192.168.16.'                     # 设置ip前面三位
     5 
     6 for ((i=1;i<=20;i++))                     # 循环20次,因为有点慢,所以循环少点
     7 do                                        # 循环开头标志
     8     echo "$ip_head$i"                     # 将ip前面三位和i拼接起来
     9     ping -c1 "$ip_head$i" &> /dev/null    # ping IP,将打印结果丢弃
    10     if [ $? -ne 0 ]                       # 查看上面ping的结果,是否成功
    11     then                                  # if判断开头的标志
    12         echo 'sucessful'                  # 如果ping不通,则打印成功,表示可用
    13     fi                                    # if判断的结尾标志
    14 done

    99乘法表

    #!/bin/bash
    
    for((i=1;i<=9;i++))                     # 外循环9次
    do
        for((j=1;j<=i;j++))                 # 内循环为1-9次
        do
            echo -n "$j*$i=$[j*i] "         # 列式子,-n表示不回车,后面用空格分割
        done
        echo
    done

    模拟终端控制

     1 #!/bin/bash
     2 
     3 while :                          # :表示真
     4 do
     5     read -p '>>' cmd             # 获取一个输入
     6     if [[ -z $cmd ]]             # 如果为空,执行下面then
     7     then
     8         continue                 # 进入下一次循环
     9     elif [[ $cmd='quit' ]]       # 如果cmd的值为quit
    10     then
    11         break                    # 跳出本次循环
    12     fi                           
    13     $cmd                         # 执行变量cmd里面的命令
    14 done
  • 相关阅读:
    css的盒子模型由什么组成?
    div盒子水平、垂直居中
    display:none和visibility:hidden的区别
    创建一个多选框,且和文本关联起来(单击文本就像单击该选框一样)
    Canvas和SVG的不同
    js两个页面之间通过URL传参数
    css a标签去除下划线
    css 设置文本垂直居中
    css 边框圆角的方法
    html 文本框css设置边框圆角
  • 原文地址:https://www.cnblogs.com/alwaysInMe/p/6945582.html
Copyright © 2011-2022 走看看