传入一个网段地址,自动找出本网段内存活的IP地址。2,将存活的IP地址当作密码来创建Linux用户,用户名格式为:你的名字_数字 3,有几个存活IP地址,就自动创建几个用户   4,最后将创建的用户名和密码写入到/tmp目录下的某文件里

(1)找存活的ip

(2)将ip去除“.”,生成密码,

(3)创建用户,密码

(4)写入Path路径下的文件里(设置两个变量)

#!/bin/bash

Path=/tmp

for ip in 192.168.214.{1..5}

do

ping -c 1 $ip >/dev/null

if [ $? -eq 0 ];then

echo "$ip"

let i++

user=daisy_$i

useradd $user >/dev/null

(1)  Passwd=`echo $ip | sed -r 's#[^0-9]##g'`

[ -d $Path ] || mkdir $Path

(2) echo $Pas swd | passwd -- stdin $user

echo "$user:$Passwd">>$Path/user_passwd

fi

done

用户登录验证程序

1、脚本里设置两个用户名和密码

2、让用户从屏幕输入账户和密码进行登录

3,、如果账户输入错误,让该用户继续输入账户,也可以注册用户

4、账户正确,输入密码

5、密码正确,登陆成功

6、同一个账号,密码最多允许输错3次,达3次,账号锁定(此时脚本不能退出)。

7、锁定账号以后,可以继续登录未锁定账号,也可以删除用户

#!/bin/bash

function login(){
USER1="daisy"
PASSWD1="123123"
USER2="helen"
PASSWD2="123456"
lock=""

Path=/tmp
useradd daisy
useradd helen
echo $PASSWD1 | passwd --stdin daisy
echo $PASSWD2 | passwd --stdin helen
while :
do
read -p "please write your username:" user
clear
echo "$lock" | grep -w "$user" &>/dev/null
if [ $? -eq 0 ];then
echo "locked"
continue
fi
if [ $user != "daisy" -a $user != "helen" ];then
echo "invaild username "
read -p "create username or not (choice yes or no):" create
  case $create in
  yes)
  useradd $user
  echo "create successfully"
  passwd $user
  [ $? -eq 0 ] && echo "create successfully"
  echo "$user:$passwd" >> $Path/user_passwd
  echo "transfer successfully"
  exit
  ;;
  no)
  continue
  ;;
  *)
  echo "invaild number"
  ;;
  esac

else
i=0
while :
do
read -p "please write your password:" passwd
clear
  if [ $passwd == $PASSWD1 -a $user == "daisy" ];then
    echo "login successfully"
    exit
  elif [ $passwd == $PASSWD2 -a $user == "helen" ];then
    echo "login successfully"
    exit
  else  
    let i++
    if [ $i -eq 3 ];then
    echo "username has locked, please use another unlocked username"
    sleep 1
    clear
    lock=$lock" $user"
    sleep 1
    read -p "delete username or not(choice yes or no):" delete
      case $delete in
      yes)
        userdel $user
        echo "delete successfully"
        exit
        ;;
      no)
        exit  
        ;;
      *)
        echo "invaild number"
        ;;
      esac
    break
    fi
  echo "password is wrong"
  sleep 1
  clear
  fi
done
fi
done
}

function test(){

echo "123"
}
function title (){
cat <<FOF
********************
1、登录
2、退出
********************

FOF

}
while :
do
clear
title
read -p "请输入你的选择:" num
clear
  case $num in
  1)
    login
    ;;

  2)
    echo "exit"
    exit
    ;;
  *)
    echo "invaild number"
    ;;
  esac
sleep 2
done

Linux系统——shell脚本应用示例的更多相关文章

  1. Linux系统Shell脚本编程

    1. shell脚本概念:C语言编写的.命令解释器.编程语言. 是用户使用linux的桥梁. shell脚本语言非常擅长处理文本类型的数据. 2. shell脚本作用:自动化管理.监控管理.日志数据处 ...

  2. Linux系统——shell脚本

    shell脚本编程 作用:通过命令行解析的方式,自动执行设定好的程序或命令代码.(若将脚本挂到定时任务中,就会自动在非工作时间里自动触发执行程序) Shell脚本文件以“.sh”结尾 规范的Shell ...

  3. linux服务器批量部署应用系统shell脚本(Tomcat/jetty)

    linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-t ...

  4. Linux/Unix shell 脚本中调用SQL,RMAN脚本

    Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...

  5. 从windows到linux的shell脚本编码和格式问题

    从windows到linux的shell脚本编码和格式问题   从windows到Linux的shell脚本编码和格式问题 1.异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh s ...

  6. Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间

    Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...

  7. Linux:从windows到linux的shell脚本编码和格式

    从windows到linux的shell脚本编码和格式问题 异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误, ...

  8. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  9. 使用C#给Linux写Shell脚本(下篇)

    在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...

随机推荐

  1. 从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server

    不能就地升级早于 Microsoft Dynamics CRM Server 2011 的版本号,比方 Microsoft Dynamics CRM 4.0 server.可是,能够在升级过程中使用 ...

  2. Android 防破解技术简介

    Android 防破解技术简介 这几年随着互联网的不断发展,Android App 也越来越多!但是随之而来的问题也越来越多,这其中比较令人头疼的问题就是:有些不法分子利用反编译技术破解 App,修改 ...

  3. 动态规划——最长公共上升子序列LCIS

    问题 给定两个序列A和B,序列的子序列是指按照索引逐渐增加的顺序,从原序列中取出若干个数形成的一个子集,若子序列的数值大小是逐渐递增的则为上升子序列,若A和B取出的两个子序列A1和B1是相同的,则A1 ...

  4. CSS文本对齐text-align详解

    1.语法 text-align具体参数如下: 语法:text-align : left | right | center | justify 说明:设定元素内文本的水平对齐方式. 参数:left :  ...

  5. vue通信

    组件实例的作用域是孤立的. 一.父子通信 父组件通过props向下传递数据给子组件,子组件通过events给父组件发送消息. 要让子组件使用父组件的数据,我们需要通过子组件的props选项.prop是 ...

  6. Openstack实现共有云VPC的SDN网络

    Neutron的第二个网络模型,自服务网络 参考官方文档:https://docs.openstack.org/newton/zh_CN/install-guide-rdo/neutron-contr ...

  7. Ubuntu 16.04修改配置静态IP和DNS

    Ubuntu 16.04修改配置静态IP和DNS 1.修改interfaces 文件 sudo gedit /etc/network/interfaces 2.添加 例如: auto enp0s25 ...

  8. 设计模式之Factory工厂模式

    在上一章,模板模式中,我们在父类规定处理的流程,在子类中实现具体的处理.如果我们将该模式用于生成实例,便演变成了Factory模式,即工厂模式. 在Factory模式中,父类决定实例的生成方式,但并不 ...

  9. Bad Hair Day---poj3250(栈的运用)

    题目链接:http://poj.org/problem?id=3250 题意: n个牛排成一列向右看,牛i能看到牛j的头顶,当且仅当牛j在牛i的右边并且牛i与牛j之间的所有牛均比牛i矮. 设牛i能看到 ...

  10. Linux命令(基础3)

    关机重启 reboot poweroff ============================ linux命令分类 1.针对不同文件的管理命令 1.1 目录 FHS 文件系统层次化标准 绝对路径: ...