shell中数组的应用

定义数组

array=(1 2 3)
echo ${array[*]}  [0]也可以
或者
array[0]=1 分别定义
array=([1]=one [2]=two [3]=three)
可以从0开始  也可以从1开始  从1开始就没有0的值  
或者动态数组

array($(echo {a..z}))


touch /array/{1..3}
array=($(ls /array)) 

数组的打印和输出
echo ${array[0]} 打印第一个
echo ${array[*]} 打印所有
echo ${array[@]} 打印所有
echo ${#array[@]}  统计个数   最大限度保持原意“”下
echo ${#array[*]}  统计个数   所有元素变为字符串“”下    
echo ${array[@]:1:2}  打印1-2
${!array[*]}打印数组下标
替换  echo ${array[@]/1/b}  第一个替换-->b
删除
unset array
unset  array[0]


利用for循环打印字母个数不大于6的单词
#!/bin/bash
for i in I am westos teacher welcome to westos training class
do
     [ ${#i} -lt 6 ]&&echo -n "$i "
done
echo

或者
#!/bin/bash
array=(I am westos teacher welcome to westos training class)
for i in ${array[@]}
do 
     [ ${#i} -lt 6 ]&&echo -n "$i "
    # [ $i -eq `${array[@]}` ]
done
echo 
自动换行


或者 
for ((i=0;i<${#array[*]};i++))
do
    [ ${#arr[i]} -lt 6 ]&&echo -n "${array[i]} "
done
echo 


#########随机数

for循环在/westos目录下批量创建10个html文件
每个文件需要包含是个随机小写字母+固定字符串westos

echo $RANDOM   0-32767
openssl rand -base64 40  随机64编码情况下的40位字符串

#!/bin/bash
Path=/westos    #不能全大写和系统冲突

[ -d "$Path" ]|| mkdir -p $Path

for i in `seq 10`
do
    random=$(opensll rand -base64 40|sed 's/[^a-z]//g'|cut -c 1-10)
    touch $Path/westos/${random}_westos.html
    echo ${random}_westos.html success
done


seq -w 100 会自动001 010补齐

#!/bin/bash

for i in `seq -w 10`
do
        random=$(echo "westos$RANDOM" | md5sum |cut -c 1-10)
        useradd westos$i &>/dev/null
        [ `echo $?` -eq 0 ]&&
        echo $random |passwd --stdin westos$i&&echo westos$i added passwd is $random&&echo westos$i added passwd is $random >> /etc/westospass||echo westos$i exists.
done

#!/bin/bash

for i in `seq -w 10`
do
        random=$(echo "westos$RANDOM" | md5sum |cut -c 1-10)
        useradd westos$i &>/dev/null
        if [ `echo $?` -eq 0 ];then
        echo $random |passwd --stdin westos$i
        echo westos$i added passwd is $random
        echo westos$i added passwd is $random >> /etc/westospass
        else
        echo "westos$i exists."
        fi
done

md5加密
md5sum XXX > file
md5sum -c file  检测校验码

例如
echo "westos$RANDOM" | md5sum |cut -c 1-10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值