2014-10-17(脚本练习)

写一个脚本:
1、使用函数实现:
   判断一个用户是否存在,用户名通过参数传递而来;
   如果存在,就显示此用户的shell和UID
   如果不存在,就说此用户不存在;
2、提示用户输入用户名,而后将其传递给上面的函数;
3、判断结束后不退出,而是提示用户可继续输入其它用户名,或输入(q)退出;

#!/bin/bash
##Author: Yang Jing
##time: 2014-10-17
##description:  for judge the user exists or not

user_exists() {
        read -p "please input a user name: " User
        [ $User == "q" ] && exit 0
        cat /etc/passwd | grep "^$User:" &> /dev/null
        RETRAL=$?
        if [ $RETRAL -ne 0 ];then
                echo " no such user $User"
        else
                echo "$User uid is `id -u $User`"
                echo "$User shell is `echo $RETRAL | cut -d: -f 7`"
        fi

}

while true;do
        user_exists
done

时间: 2024-07-31 09:04:12

2014-10-17(脚本练习)的相关文章

机房管理日记——2014/10/17

我很好奇,王家这么多人? 联想出售给几个,所有王姓,王还安排为主线... 这让我想起了美妙的墙壁我法老. 今天早上遇到以下问题: 1问题: .因为交换机的插口不够,就多加了一个下路由器.由大路由分别链接两个交换机和一个小路由,两交换机和小路由再链接机房电脑: 那么问题来了(挖掘机学校哪家强?...) 首先是你得改动路由器的wan.不然两个路由wan默认都是192.168.1.1冲突了.就可能导致出现部分机子上不了网的情况(今早没出现,不明确). 解决方式: 将两个路由的wan改成不一样的.不要冲

机房日记——2014/10/17

我很好奇,姓王的人那么多吗? 联想的售后来了好几个,都姓王,布置线路的师傅也姓王...这让我想起了神奇的隔壁老王. 今早遇到以下几个问题: 1问题: .由于交换机的插口不够,就多加了一个下路由器,由大路由分别链接两个交换机和一个小路由,两交换机和小路由再链接机房电脑: 那么问题来了(挖掘机学校哪家强?...) 首先是你得修改路由器的wan,不然两个路由wan默认都是192.168.1.1冲突了,就可能导致出现部分机子上不了网的情况(今早没出现,不明白): 解决方案: 将两个路由的wan改成不一样

BASH 脚本制作简单 Workflow - 更新 2014/6/17 12:00

因为需要,我创建了一个脚本叫 wf.sh (随意起什么名字),它可以读取当前目录下的 config.ini 配置文件来解析并执行工作流任务(Workflow). 直接上代码: config.ini Workflow.Name = example Workflow.Description = my work flow example \n and I know what's going on here. #Workflow.StartJob = job1 Workflow.NextJobCount

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展 iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html iptables限制syn速率 http://www.aminglinux.com/bbs/thre

yaffs2 源码错误 too few arguments to function 'yaffs_flush_file' 2014.10.11

来自:http://blog.csdn.net/cinmyheart/article/details/38747505 yaffs2 源码错误 错误: 2014-08-06 Charles Mannin 版本的 yaffs 有误! yaffs_flush_file的定义: source file :yaffs_guts.c [cpp] view plaincopyprint? int yaffs_flush_file(struct yaffs_obj *in, int update_time,

Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址:Unity3D NGUI自适应屏幕分辨率 1.UIRoot:根据高度自适应屏幕分辨率. NGUI根目录的UIRoot组件自带了根据高度自适应分辨率的功能. Scaling Style属性可选择三种不同的缩放策略. PixelPerfect 完美像素:直接显示设定好的像素.当屏幕高度低于minimum

phpStudy + JspStudy 2014.10.02 下载

phpStudy + JspStudy 2014.10.02 下载 目标:让天下没有难配的php环境. phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6 『软件简介』该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便.好用的PHP调试环境.该程序绿色小巧简易迷你仅有32

2014/7/17

1.抽象函数和抽象类 (1)抽象函数:就是只有声明没有实现的函数,称之为抽象函数,在java中抽象函数前面加abstract . 在定义函数类型时,需要被覆盖的函数,一般称为抽象函数. (2)抽象类:有抽象函数的类,称之为抽象类.(可以有不是抽象类的函数) 2.在继承关系中,注意: (1)java中只能进行单继承. (2)继承关系的相关类,必须是"is  a".也就是说作为子类必须是父类型的一种. 3.接口:形式上说,所有的方法均为抽象函数,这时,我们就可以把类型定义成interfac

Linux - Eclipse CDT + GCC 安装(2014.10.2)

Eclipse CDT + GCC 安装 (2014.10.2) 本文地址:http://blog.csdn.net/caroline_wendy 1. 安装Eclipse,在官方网站下载Eclipse标准版(Linux平台)即可,解压到当前文件夹. 2.  下载JDK,选择Linux32位,即可,解压默认目录:jdk1.8.0_20 ; 把文件夹复制到jvm中. sudo cp -r ~/jdk1.8.0_20/ /usr/lib/jvm/ ; 3. 修改配置文件(profile): # 配置

个人回忆录 2014.10.20 至 2015.7.30

时间过的太快.以至于对我来说都记不起来每天做了些什么事情.工作节奏太快,下班.上班 然后再下班再上班. 每天下班后都晚上9点左右.真的看不见日出看不见日落. 从2014.10.20 到现在已经快10个月了.新的工作环境以及新的同事.上司都已熟悉了.回想刚刚开始进入这个研发团队的时候. 高原反应非常强烈,总是在疑问自己为何选择这个方向—C++ 客户端开发.为何不沿用最熟悉的.NET 平台开发.当从新学习一门新技术的时候 才发现自己太笨.有点像当年的高考,时间很紧.因为没有太多的时间用在学习上.MF