shell编程之基本内容

 |   

在windows里面进行任务处理通常是用批处理,但是其功能是单薄的.而且一般公司服务器都是用的linux系统,批处理是没有用武之地的,关键时候还是shell给力.其实说白了,shell编程就是linux命令的组合.

变量

  • 定义,赋值:

    1var=value
    
  • 引用

    1$var,${var}
    
  • 特殊变量

    • $? 上条命令状态
    • $*/$@ 所有参数列表
    • $# 参数个数
    • $0 执行的命令名称
    • $1/${10} 第1/10个参数

数值运算

  • 基本用法

    1expr value1 op value2	# eg. expr $var1 + $var2
    2$[ value1 op value2 ]	# eg. $[var1+var2]
    
  • 变量递更

    1let var++	# 自增1
    2let var+=2	# 自增2
    
  • 随机数生成

    1echo $RANDOM	# $RANDOM生成随机数
    
  • 生成数字序列

    1# 显示first,first+1,...,end
    2seq first end
    3# 显示first,first+step,...
    4seq first step end
    
  • 小数计算(bc命令)

    1# 将运算的字符串传递给bc命令去处理
    2echo “45.6×33.2” | bc
    
    
    
    

字符串操作

  • 子串截取

     1# 提取$path里面的目录路径/文件名
     2dirname/basename $path
     3# 截取$string字串,从first(起始为1)开始,长度为length
     4expr substr $string first
     5# 截取$string子串,从first(起始为0)开始,长度为length
     6${string:first:length}
     7# 从左开始匹配patten,从string删除最短的patten
     8${string#patten}
     9# 从右开始匹配patten,从string删除最短的patten
    10${string%patten}
    
  • 字符串替换

    1# 将string中第一个old替换为new
    2${string/old/new}
    3# 将string中所有old替换为new
    4${string//old/new}
    
  • 生成随机字符串

    1# 生成长度为8的随机字符串
    2head -1 /dev/urandom | md5sum | cut -c1-8
    
技术茶话会
< 前一篇 后一篇 >