SHELL脚本练习(3)
要求如下:
1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。
2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。
3、编写个shell脚本将/usr/local 日录下大于10M的文件转移到/tmp目录下
#shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。
#!/bin/bash
ls /tmp/size.log &> /dev/null #查看文件
if [ $? -eq 0 ] #查看上条命令的返回值是否为0,从而判断文件是否存在
then
echo "/tmp/size.log文件存在" #标准输出
cat /tmp/size.log #查看文件内容
else
echo "/tmp/size.log文件不存在"
touch /tmp/size.log #创建文件
stat /tmp/size.log | grep "创建时间" >> /tmp/size.log #通过stat查看创建时间并写入文件中
fi
测试结果如下
文件不存在时

文件存在时

#!/bin/bash
#写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。
for i in {01..20}; do # 使用for循环添加用户
username="user${i}" # 生成用户名
password=$(openssl rand -base64 8 | cut -c1-5) #生成密码,使用openssl生成随机字符串
useradd -m -s /bin/bash "$username" # 添加用户
echo "$password" | passwd --stdin "$username" # 设置密码,使用 echo 和 passwd 命令
echo "Added user: $username with password: $password" # 输出用户信息
done
#因为没有大于1OM的文件,仅用大于1k的文件进行测试,并且只做复制
#!/bin/bash
files=$(find /usr/local -type f -size +1k)
cp "$files" /tmp
测试结果如下

实际生产环境中脚本如下
#编写个shell脚本将/usr/local 目录下大于10M的文件转移到/tmp目录下
#!/bin/bash
files=$(find /usr/local -type f -size +10M)
mv "$files" /tmp

浙公网安备 33010602011771号