zoukankan      html  css  js  c++  java
  • 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
    
    
  • 相关阅读:
    [HIHO1223]不等式(离散化,枚举)
    [NYIST15]括号匹配(二)(区间dp)
    [HIHO1328]逃离迷宫(bfs,位压)
    [Topcoder]AvoidRoads(dp,hash)
    [POJ1159]Palindrome(dp,滚动数组)
    [Topcoder]ZigZag(dp)
    [NYIST32]组合数(状压,枚举,暴力)
    [NYIST737]石子合并(一)(区间dp)
    [HIHO1322]树结构判定(并查集)
    [HIHO1143]骨牌覆盖问题·一(矩阵快速幂,递推)
  • 原文地址:https://www.cnblogs.com/smartrui/p/10317531.html
Copyright © 2011-2022 走看看