该文演示如何使用shell脚本完成添加用户,首先进行一个判断,如果用户存在,提示该用户已经存在,否则进行添加新的用户。

示例代码如下:

 #!/bin/bash

 grep_user()
{
R=`grep "^$1:" /etc/passwd | wc -l`
echo $R
} echo -n "input username:" read USERNAME RET=`grep_user $USERNAME`
echo "......return $RET......."
if [ $RET -eq ]
then
echo "$USERNAME exist"
else
echo "$USERNAME not exist"
echo "plz add a new user"
sudo adduser $USERNAME
fi

我使用的示Ubuntu12.04环境,具体步骤如下:

1、在 家目录下新建文件。

2、更改文件权限,chmod 755 username.sh

3、执行该脚本./username.sh

我想添加一个名为linux的用户,添加前:

没有linux用户。

执行脚本后:

根据提示进行一步一步测操作,最终的结果为:

同时可以发现home下多了一下linux用户,如果新添加的用户已经存在,那么会提示已经存在,导致无法添加,至此整个过程执行完毕!

使用shell脚本添加用户的更多相关文章

  1. Shell脚本——添加和删除用户

    写一个脚本admin_user.sh,其用法格式为: admin_user.sh --add USERLIST --del USERLIST -v|--verbose -h|--help 其中, -h ...

  2. Android随笔之——用shell脚本模拟用户按键、触摸操作

    之前写过两篇关于Android中模拟用户操作的博客(其实用一篇是转载的),现在就来讲讲用shell脚本来模拟用户按键操作.本次的目标是用shell脚本打开微信并在其搜索框中搜索相关内容. 本文的模拟功 ...

  3. shell脚本添加实例化参数

    通过shell脚本给GMP系统添加一个环境变量参数dateSwitchTimeInterval 1. insert.sh #!/bin/sh . ~/apphome/aic_export.sh #连接 ...

  4. 利用shell脚本添加环境变量

    在shell脚本设置了环境变量,如export LIBRARY_PATH=./lib/,执行了此脚本后, 在执行生成的可执行文件,提示错误 error while loading shared lib ...

  5. ftp:linux下利用shell脚本添加虚拟用户并赋予权限

    首先ftp配置应为虚拟用户登录模式 用户密码文本目录为/etc/vsftpd/vftpuser,代码如下: #!/bin/bash # ];then username=$ password=$ hom ...

  6. Shell 脚本处理用户输入

    传递参数 跟踪参数 移动变量 处理选项 将选项标准化 获得用户的输入 bash shell提供了一些不同的方法来从用户处获取数据,包括命令行参数(添加在命令后数据),命令行选项(可以修改命令行为的单个 ...

  7. zabbix3.0.4通过自定义shell脚本添加对关键日志文件的监控

    zabbix添加对自定义无规则日志文件的监控 项目背景及思路: zabbix自带有针对日志文件的监控,自带的监控只能监控到指定文件或者正则匹配的固定日志文件,但当需要监控的文件名没有规律的时候自带监控 ...

  8. Shell脚本实现用户数据导入

    #输入:固定格式的用户数据user.sql #处理:循环读取user.sql中的每行(每行对应一条用户数据),依次调用curl命令将用户插入BearyChat #输出:执行结果输出到日志文件outlo ...

  9. shell脚本之用户管理

    #!/usr/bin/env bash ############################### # 脚本名称 : userManager.sh # # 脚本功能 : 账号管理 # # 脚本参数 ...

随机推荐

  1. Toad for Oracle针对于Oracle数据库的可视化管理工具使用

    Toad for Oracle安装包下载地址:http://pan.baidu.com/s/1mgBOLZU 在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工 ...

  2. boot and loader

    boot and loader boot 程序的所有作用 清屏 将光标移到屏幕左上角 显示 Start Boot 提示信息 加载 loader 程序的代码到 0x10000 物理内存地址 将CPU的段 ...

  3. jmeter压测配置

    windows上面修改最大使用端口数和time_await等待时间 注册表需要添加两个配置,位置:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ S ...

  4. iOS多线程系统整理 swift

    多线程   是一个应用程序内多个代码的执行路径,执行线程,同时在同一时间里执行不同的任务. 三种: 1.NSTread 2.Cocoa NSOperation (NSOperation,NSOpera ...

  5. 1269 匈牙利游戏 2012年CCC加拿大高中生信息学奥赛

    1269 匈牙利游戏 2012年CCC加拿大高中生信息学奥赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond         题目描述 Description ...

  6. Vue系列:关于侵权前言

    因为一开始学习 Vue 的时候,秉持的是"好记性不如烂笔头"的思想,所以这些知识点都是当时查阅然后选择性摘录下来的. 当时并没有很刻意去记录原文出处(现在我知错了..),所以..如 ...

  7. Yii2.0 高级版安装 windows

    最近在学习yii2.0 在安装高级版的时候遇到一些问题 索性解决了 下面分享一下 一.关于下载 自行百度,在Yii Framework 中文社区 下载专区下载高级应用程序模板(这边下载用电信网络不用下 ...

  8. 在MVC中使用NHibernate学习记录

    NHibernate简介: NHibernate是一个面向.net环境的对象/关系数据库映射工具,对象/关系数据库映射(object/relational mapping,ORM)是一种技术,可以将对 ...

  9. ASP.NET MVC网站学习问题积累(一)

    最近工作压力比较大,不得已开始自学C#.同时网站开发业务开展迫在眉睫,只能先从ASP.NET学起.回想一下,连C#和ASP.NET的关系都没有明白,就被赶鸭子上架了...我觉得这将是我工作以来最具有戏 ...

  10. linux 命令——43 killall(转)

    Linux 系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进 程,如果要找到我们需要杀死的进程,我们还需 ...