成功最有效的方法就是向有经验的人学习!

shell面试题

闲着没事把之前的一些shell面试题分享一下

创建用户,这道题考点:正则对比,eval使用

#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
read -p "请输入用户名前缀:"   A
read -p "请输入创建用户个数:"  B
  [[ "$B" =~ ^[0-9]+$ ]] || echo "输入错误,请输入整数"
read -p "请输入用户密码:" -s C
  [[ "$C" =~ ^[0-9]+$ ]] || echo "输入错误,请输入整数"
for i in `eval echo ${A}{1.."$B"}`;do
  useradd $i
  echo $C |passwd --stdin $i
done

规则创建用户

#!/usr/bin/sh
#Version V1.0
#Author ChenGuilin
#Create Time 2018-11-5
#QQ 21108858
#添加`user_00->user_09`10个用户, 并且给他们设置一个随机密码, 密码要求10位包含大小写字母以及数字, 注意需
要把每个用户的密码记录到一个日志文件中
UserDB="/etc/passwd"
Nulls="/dev/null"
>/$PWD/008.useradd.log
for ((i=0;i<=9;i++))
do
  Password=`/server/scripts/bin/rand 10`
  UserName=user_0$i
  id $UserName &>$Nulls && continue
  if [[ "$Password" =~ ^[0-9]{10}$ ]];then
    echo "密码符合要求">>$PWD/008.useradd.log
  fi
  useradd $UserName &>$Nulls
  id $UserName &>$Nulls
  if [ $? -eq 0 ];then
    echo $Password|passwd --stdin $UserName &>$Nulls
    echo `date +%F_%T`" 添加用户成功,用户名为:"$UserName" 密码:"$Password >>$PWD/008.useradd.log
  fi
done

 

赞(0) 打赏
未经允许不得转载:陈桂林博客 » shell面试题
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册