• shell 劝君更尽一杯酒


    shell脚本运行方法:
    1.chomd a+x myshell.sh
    ./myshell.sh
    2. . myshell.sh
    3. source myshell.sh
    4. /bin/bash myshell.sh

    shell 语法:
    数据类型: 字符串 string
    变量: 全局变量 --- 环境变量
    局部变量 --- 本地变量
    变量名 = 变量值 var=10
    对比:
    $变量名: 取变量的值
    ${变量名}: 取变量的值(更安全)
    $(命令): 取命令的执行结果 ==命令
    $((变量名)): 对变量执行算数运算
    $[变量名]: 对变量执行算数运算

     导出 :export
     删除 :unset
     * ? [0123456789][0-9]
     命令代换:
                $() == ` `     var=`date`
      算数代换:
    $(( )) == $[ ]
      转义字符:
      转特殊意    转本身意
                       --
      单引号: 括字符串 --- 不能展示变量
      双引号: 括字符串 --- 可以将变量展开   ---- 建议在取变量值时,都加““     尤其是在测试条件中
    
      控制语句: if else switch case for while ...
      	   条件判别表达式:真:0  假:1
       test   测试条件
       [空格  测试条件]
        整数判别符:    -eq 等于    -ne不等于   -gt大于   -lt小于  -ge大于等于  -le小于等于
        文件类型判别符:  -d 目录文件   -f 普通文件  -p 管道  -l 软连接   -c 字符设备 -b 块设备 -s socket
      字符串长度判断 :  -z 空字符串(长度为0)    -n 非空字符串(长度非0)
      字符串判等 :    = 相等   !=不等
      逻辑运算:     -a  ------- && 逻辑与
               -o -------- ||     逻辑或
                ! -------       逻辑非
      
       if语句:
    if[判别条件];then
    	执行内容
    elif[判别条件];then
    	执行内容
    else
    	执行内容
    fi
    
        case分支语句:
    case 变量 in
    条件1.1|条件1.2|条件1.N)
    	执行的语句;;
    条件2.1|条件2.2|条件2.N)
    	执行的语句;;
    *)
    	执行的语句;;
    esac
    
          for循环语句
    for TEST in `ls` ;do
           ls -1 $TEST
    done
    
          while循环语句
    count=1
    read passwd
    while [ $passwd != "itcast" -a $count -lt 3] ;do
             echo "Try again"
             count=${count+1]
             read passwd
    done
    
    【位置参数】:
    	$0 :  类似于C中的argv[0] --- 描述可执行程序名
    	$1-$N :  类似于C中的argv[1]-- argv[N]  命令行参数
    	$# :    计算命令行参数的个数(不包含 argv[0])
    	$*/$@: 表示所有的argv 命令行参数(不包含 argv[0])
    	$$:    取出本进程的进程号
    	shift 左移  命令参数
    
    
    函数:
    	函数名(){
    		函数体
    	}
    		                      $1     $2      $3        $N
    	调用函数传参:   函数名 参数1参数2 参数3....参数N
    		函数外:$0 ---- 命令行参数的 argv[0] (shell脚本名称)
    		             $1-$N   命令行参数的 argv[0]-argv[N]
    		函数内:$0 ---- 命令行参数的 argv[0]  (shell脚本名称)
    		             $1-$N   函数的参数1--参数N	
    	
    面向对象:  封装,继承,多态,重载。。。
    框架:
    

    正则表达式:
    字符类使用的符号:
    . 匹配一个字符 *匹配多个字符 [ ]匹配指定范围字符 -在[ ]中设定范围 ^匹配除该符号以后的其他字符,在[]内使用
    数值类:
    ?:0-1 +:1-N *: 0-N {N} 前面单元的N次
    {N,} :最少N次 {,M}:最多N次 {N,M}: 最少N次,最多M次
    位置限定:
    ^:行首
    $ : 行尾 grep ^([0-9]{1,3}.){3}[0-9]{1,3}$ 查询文件
    <:单词的开头 <th then thread the
    >:单词的结尾 <th fourth
    :单词的开头、结尾  at  th | th | the
    B:非单词的开头、结尾

    基础正则:  grep  -E   
    	使用  将 ? +{ } () |
    扩展正则:   egrep
  • 相关阅读:
    python第八课
    python第七课
    python第六课
    python第五课
    Python基础30类-内置函数实现迭代器协议
    Python基础29类-内置函数(__format__,__slots__,__doc__,__module__,__del__,__call__)
    Python基础28类-内置函数(__getattribute__,__getitem__,__setitem__.__delittem__)
    Python基础27类-包装、组合方式授权、判断对象类型的方法
    Python基础26类-内置函数__setattr__,__getattr__,__delattr__
    Python基础25类-反射
  • 原文地址:https://www.cnblogs.com/justblue/p/13021771.html
Copyright © 2020-2023  润新知