1.命令用作条件,表示引用其状态结果(即执行代码成功与否),而非命令的输出结果,因此,不能使用命令替换符。

2.bash编程之整数测试
    二元测试
        num1 OPRAND num2
            -gt:大于 eg:[ $num1 -gt $num2 ]
            -lt:小于
            -ge:大于等于
            -le:小于等于
            -ne:不等于
            -eq:等于
            
3.bash编程之字符测试
    双目测试
        >:大于
        <:小于
        ==:等于
        =~:左侧是字符串,右侧是一个模式;判断左侧的字符串能否被右侧的模式所匹配,通常只在[[ ]]中使用,模式中可以使用行首,行尾锚定符,但模式不要加引号。
        
     单目测试
         -n:$stringVar 字符串是否为空,不为空结果为真,为空则结果为假
         
         -z:$stringVar 字符串是否为空,为空则结果为真,不为空则结果为假
         
4.VIM的模式
    编辑模式:键盘操作通常被解析为编辑命令
    
    输入模式:
    
    末行模式:vi内置命令行接口,执行vi的内置命令
    
5.vim的使用模式
    退出: q
    
    
6.模式切换
    编辑模式-->输入模式
        i:当前光标所在处输入
        I:当前光标所在行行首输入
        a:当前光标所在处后输入
        A:当前光标所在行行尾输入
        o:当前光标所在行下方新增一行输入
        O:当前光标所在行上方新增一行输入
        
    输入模式-->编辑模式  
    
    编辑模式-->末行模式
    
    末行模式-->编辑模式  按两次ESC
    
7.退出
    :q! 不保存退出
    wq   保存退出
    x    保存退出
    编辑模式下按 zz 保存退出
    
8.打开编辑器后多个文件间跳转
    next
    prev
    first
    last
    
9.分割窗口打开多个文件
    -o:水平分割,Ctrl+w 松开再按左右箭头跳转
    -O:垂直分割,Ctrl+w 松开再按上下箭头跳转
    +#:打开文件后定位到#行行首,省略数字则跳到末行
    
10.光标移动
    单字符串移动
        h:左,结合数字跳转,eg: 3h
        l: 右
        j:下
        k:上
        
    单词间移动
        w:下一个单词的词首
        b:上一个单词的词首或当前词的词首
        e:当前或下一个单词的词尾
        
    行内移动
        0:绝对行首
        ^:第一个非空白字符
        $:绝对行尾
                   
     句子间移动
         )
         (
         
     段落间移动
         }
         {
         
     行间移动
          G 最后一行
          1G 第一行