zoukankan      html  css  js  c++  java
  • bash基础2.0.1

    1、判断的类型

    • 算术判断
    • 字符串判断
    • 逻辑判断
    • shell内置判断

    2、算术判断

    • [ 2 -eq 2 ]相等   ([]两边都要用空格隔开)
    • [ 2 -nq 2 ]不等
    • [ 3 -gt 1 ]大于
    • [ 3 -ge 2 ]大于等于
    • [ 3 -lt 1 ]小于
    • [ 3 -le 2 ]小于等于
    • (())也可以表示算术比较,((10>=9)),((10==10))

    3、字符串比较  

    • [ string1 = stirng2 ] 如果两个字符串相等,则结果为真
    • [ string1 != stirng2 ] 如果两个字符串不相等,则结果为真
    • [ - n"$var"]  如果字符串不为空,则结果为真
    • [ - z"$var" ] 如果字符串为空,则结果为真
    • [[ "xxxx"==x* ]]表达式中表示0或者多个字符
    • [[ xxx==x?? ]] 在表达式中表示单个字符
    • 在引用变量的时候要加上双引号,否则当变量没有定义当时候会报错

    4、内置判断

    • -e file,如果文件存在,则结果为真
    • -d file 如果文件为一个子目录,则结果为真
    • -f file,如果文件是一个普通的文件,则结果为真
    • -r file,如果文件可读,则结果为真
    • -w file,如果文件可写,则结果为真
    • -x file,如果文件可执行,则结果为真
    • -s file,如果文件长度不为零,则结果为真

    [[]] 是[]的扩展语法,在老得sh里面并不支持,推荐用[]

    5、逻辑控制

    • 条件 if
    • 分支case
    • 循环 for while until select
    • Break continue
    • 较常用的为 if for while

    6、if结构 

    • if [ condiition ];then...; fi
    • if [ condiition ];then...;else...; fi
    • if [ condiition ];then...;elif...; fi
    • 简单的逻辑可以使用&&||  去替代
    • 条件可以用命令返回值代替

    7、for循环

    • for((c1;c2;c3))
    • do
    • ...;
    • done
    • for((i=0;i<10;i++)); do echo $i ;done   所有被do执行的命令,最后都会被打印出来

    8、for遍历循环

    • 用于递归数组,还可以递归以空格隔开的字符串序列,或者某个命令的返回值
    • for f in array[*];
    • do
    • ...
    • done
    1. ss="aa bb cc dd" ; for x in $ss; do echo $x; done;
    2. for x in `ls`; do echo $x; done
    3. ss=(aa bb cc "ss ee"); for x in "${ss[@]}"; do echo $x; done;

    9、while循环

    • i=0 while[ $i -lt 3]; do echo $i;((i=i+1));done
    • 一个有用的小技巧,一行行的读取文件内容 while read line; do echo $line; done < /tmp/tmp       注意:/tmp/tmp为文件名

    10、退出控制

    • return函数返回
    • exit脚本推出
    • break退出当前循环
    • continue跳过当前的循环,进入下一次的循环
    负重前行
  • 相关阅读:
    一个简单的knockout.js 和easyui的绑定
    knockoutjs + easyui.treegrid 可编辑的自定义绑定插件
    Knockout自定义绑定my97datepicker
    去除小数后多余的0
    Windows Azure Web Site (15) 取消Azure Web Site默认的IIS ARR
    Azure ARM (1) UI初探
    Azure Redis Cache (3) 创建和使用P级别的Redis Cache
    Windows Azure HandBook (7) 基于Azure Web App的企业官网改造
    Windows Azure Storage (23) 计算Azure VHD实际使用容量
    Windows Azure Virtual Network (11) 创建VNet-to-VNet的连接
  • 原文地址:https://www.cnblogs.com/astride/p/12710809.html
Copyright © 2011-2022 走看看