架构师的成长之路初片-shell-(字符串的处理)

五,字符串的处理

1, 字符串的截取

${变量名:截取起始位置:截取长度}

 

编写脚本,可以随机获取变量x中的一位字符

#!/bin/bash

x=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU

VWXYZ0123456789   //先定义变量x,里面有62个字符

n=$[RANDOM%62]   //利用RANDOM随机除以62取余数

可以得到0~61之间的随机数

echo ${x:n:1}   //随机截取变量x中的一位字符

 

例子:

 

编写脚本,可以获取50个随机的8位字符串(将来可以作为为用户配置随机密码时使用)

 

#!/bin/bash

 

x=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789    //定义变量

 

for j in {1..50}      //执行50次

 

do

 

  for i in {1..8}     //循环8

 

  do

 

    n=$[RANDOM%62]   //得到0-61之间的随机数

 

    a=${x:n:1}   //随机截取一个x中的字符存储到变量a

 

    pass=$pass$a  //将每次获取的随机字符存储到变量pass

 

  done

 

  echo $pass   //循环完8次之后,喊出最终结果,就得到了18位的字符串

 

  unset pass  //每次获取完8位字符串,将变量清空,避免下次变成16位长

 

done

-----------------------------------------------------------------------------------------------------------

字符串的改、删等操作

a=asdqwerwasdf

echo ${a/q/9}           /把a内的q换成9

echo ${a//ww/6}      //把两个w换成6

 

 

 

 

 

 

 

 

 

未完待续....................

 

posted @ 2021-02-04 20:12  樱花泪  阅读(53)  评论(0编辑  收藏  举报