zoukankan      html  css  js  c++  java
  • Linux shell循环

    条件测试
    格式    test condition    或    [ condition ]    使用方括号时,要注意在条件两边加上空格,如果有操作符,运算符之间也必须有空格
    测试状态:测试的结果可以用$?的值来判断,0表示成功,其他为失败
    --文件状态测试
    -e  判断文件是否存在
    -d 判断目录是否存在 -f 正规文件(是不是普通文件) -L 符号链接 -r 可读 -s 文件长度大于0、非空 -w 可写 -u 文件有suid位设置 -x 可执行 --逻辑测试 -a 逻辑与,操作符两边均为真,结果为真,否则为假 -o 逻辑或,操作符两边一边为真,结果为真,否则为假 ! 逻辑否,条件为假,结果为真 --字符串测试 = 两个字符串相等 != 两个字符串不等 -z 字符串为空 -n 字符串非空 --数字测试 -eq 两个数字相等 -ge 数字a大于等于数字b -gt 数字a大于数字b -le 数字a小于等于数字b -lt 数字a小于数字b -ne 数字a不等于数字b

    expr
    --数字运算
    --加法运算:expr 10 + 10
    --减法运算:expr 20 - 10
    --加法运算:expr 10 / 5
    --乘法运算:expr 10 * 5
    --注意:expr 10 + 10 ;10(空格)+10(空格),数字与运算符之间必须使用空格
    --如果是非数字参加运算会报错误,利用此点可以用来测试数字格式。
    --例子:expr 10 + a 查看是否报错,测试a是否是数字
    if then else 语句
    语法1
    if 条件
    then 命令
    else 命令
    fi
    注意if语句必须以fi终止
    
    
    语法2
    if 条件1;(";"可以加也可以不加,规则是加上)
    then 命令1
    elif 条件2
    then 命令2
    else 命令3
    fi

    注意:if then else命令,if和then如果在同一行上,必须加";"分号,不在同一行上,可以不加

    case
    case多选择语句格式
    casein
    模式1)
        命令1
        ;;
    模式2)
        命令2
        ;;
    esac
    注意点:
    ①:case取值后面必须为单词in:每一模式必须以右括号结束
    ②:取值可以为变量或常数。匹配发现取值符合某一模式后,气候的所有命令开始执行,直到;;
    ③:模式匹配:*表示任意字符;?表示任意单字符;[...]表示范围中任意字符
    for循环
    语法格式
    for 变量名 in 列表
    do
        命令1
        命令2
    done
    1.当变量值在列表里,for循环即依次执行所有命令,使用变量名访问列表中取值
    2.命令可以为任何有效的shell命令和语句。变量名为任意单词
    3.in列表用法是可选择,如果不用它,for循环使用命令行的位置参数
    4.in列表可以包含替换、字符串和文件名

    until循环
    语法格式
    until    条件
    do
        命令1
        命令2
    done
    条件可以为任意测试条件,测试发生在循环末尾,因此循环至少执行一次
    while循环
    语法格式
    while 命令(可以是一个命令也可以是多个)
    do
        命令1
        命令2
    done
    注意:在while和do之间虽然通常是一个命令,但可以放几个命令。
    如果whil和do之间一个命令都没有必须加上":"

     

    break [n]
    --退出循环
    --如果是在一个嵌入循环里,可以指定n来跳出循环个数
    
    continue
    --跳出本次循环(不会跳出循环,跟C语言相同)
  • 相关阅读:
    [转] Actor生命周期理解
    [转] Linux History(历史)命令用法 15 例
    [转] CDH6 安装文章链接收集
    [转] org.scalatest.FunSuite Scala Examples
    [转] Mock以及Mockito的使用
    关于 maven 打包直接运行的 fat jar (uber jar) 时需要包含本地文件系统第三方 jar 文件的问题
    [转] flume使用(六):后台启动及日志查看
    [转] etcd 搭建与使用
    [转] 2018年最新桌面CPU性能排行天梯图(含至强处理器)
    让 Linux grep 的输出不换行
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/6104711.html
Copyright © 2011-2022 走看看