八、Shell脚本高级编程实战第八部
一、使用for循环在/oldboy目录下创建10个文件名为oldboy-x的文件
#!/bin/sh
[ ! -d /oldboy ] && mkdir -p /oldb
for i in `seq 10`
do
touch /oldboy/oldboy-${i}.html
done
二、用for循环实现将oldboy 改成linux,扩展名为HTML,for循环不能出现oldboy字体
#!/bin/sh
cd /oldboy
for file in `ls *.html`
do
mv $file `echo $file |sed 's#oldboy#linux#g'|sed 's#html#HTML#g'`
done
三、批量创建10个系统账号oldboy01-10设置密码且不能相同
#!/bin/sh
for n in `seq -w 10`
do
useradd oldboy$n &&\
echo "djw$n" |passwd --stdin oldboy$n
done
四、批量创建10个系统账号oldboy01-10设置密码且密码为随机
#!/bin/sh
for n in `seq -w 10`
do
userdel -r oldboy$n &&\
useradd oldboy$n &&\
echo "$RANDOM"|md5sum|cut -c 1-8|passwd --stdin oldboy$n
for n in `seq -w 10`
do
userdel -r oldboy$n &&\
useradd oldboy$n &&\
echo "$RANDOM"|md5sum|cut -c 1-8|passwd --stdin oldboy$n
done
五、产生随机数的方法
RANDOM
openssl rand -base64 8/10/13
date +%s%N
/proc/sys/kcrncl/uuid
六、数组就是相同数据类型的元素按照一定顺序排列的集合
定义:array=(12 2 3 45)
获取长度:echo ${#array[*]} 、echo ${#array[@]}
获取某个元素: echo ${array[0]} echo ${array[1]}.。。。
所有的元素: echo ${array[@]} echo ${array[*]}
删除数组,数组元素: unset array 、 unset array[0]
从第二个开始截取数字: echo ${array[@]:2}
替换:array1=(${array[@]/3/123})