• linux系统shell基础知识入门二


    条件判断语句

    test或[],这两是等价的。但用[]这种可能看起来更简洁
    必须在[符号和检查条件之间留出空格,而test命令之后也总是应该有一个空格
    如果要把test 和then 放一行上,那么必须在test语句和then之间加上分隔符“ ; "

    第1种
    if test -f /tmp/log.log; then
      echo "Yes"
    else
       echo "No"
    fi
    第2种
    if [ -f /tmp/log.log ]; then
     echo "log exists"
    fi
    
    字符串比较 结果
    str1 = str2 字符串相同为真
    str1 != str2 字符串不相同为真
    -n string 字符串不为空时,结果为真
    -z string 字符串为null(空串),不能值为null的串。结果为真
    算术比较 结果
    exp1 -eq exp2 两表达式相等,结果为真
    exp1 -ne exp2 两表达式不等,结果为真
    exp1 -gt exp2 exp1大于exp2,结果为真
    exp1 -ge exp2 exp1大于等于exp2,结果为真
    exp1 -lt exp2 exp1小于exp2,结果为真
    exp1 -le exp2 exp1小于等于exp2,结果为真
    ! exp1 exp1为假,则结果为真,反之亦然
    文件条件测试 结果
    -d file 文件是一个目录,结果为真
    -e file 文件存在为真,目前更多使用-f file
    -f file 文件是普通文件为真
    -g file 文件的set-group-id位被设置为真
    -r file 文件可读为真
    -s file 文件大小不为0为真
    -u file 文件的set-user-id位被设置为真
    -w file 文件
    -x file 文件可执行为真

    控制结构(if)

    if 条件
    then
       语句
    else
      语句
    fi  
    
    或使用elif多重选择
    if 条件
    then
       语句
    elif 条件
       语句
    else
      语句
    fi 
    
    num=1
    if [ "$num" -eq 1 ]; then
      echo 1
    elif [ "$num" -eq 2 ]; then
      echo 2
    else
      echo 3
    fi
    exit 0
    

    for语句

    for variable in values;
    do
     语句
    done
    
    #! /bin/bash
    for i in $(ls /tmp);do
      ls '/tmp/'$i
    done
    exit 0
    

    while语句

    while 条件 do;
    语句
    done
    

    until语句

    和whle相似,不过它是反复执行直到条件为真,而不是条件为真是反复执行

    until 条件 
    do
    语句
    done
    

    case语句

    每个模式行都以分号;;结尾

    case variable in
     parttern [| parttern] ...) 语句;;
    esac
    
    
  • 相关阅读:
    FreeMarker的<#if></#if>标签
    ubuntu的dpkg命令安装和卸载软件
    ubuntu建立软链接注意事项
    halo的工作目录,有一个是在代码里配置的,硬编码了
    Springboot的多环境配置
    idea中的springboot+gradle项目报错springboot configuration annotation processor not found in classpath
    maven中的pom.xml中的scope的作用
    设置idea的快捷键组合 设置为默认
    springboot无法查询到后台的数据
    ssh互信条件下的多机拷贝脚本和执行远程命令
  • 原文地址:https://www.cnblogs.com/smartrui/p/10317531.html
Copyright © 2020-2023  润新知