脚本练习:建立用户

简介:

脚本练习:

要求:

1 编写的脚本script.sh /mnt/userfile /mnt/password

2 当要建立的用户已经存在不做任何操作

3 当脚本所指定文件个数少于两个显示:

pleasegive  me userfile  or  password file

4 当所给额文件行数不一致时显示:

/mnt/userfile‘s  line  is  different  from  /mnt/password's line

 

 

 

脚本如下:

#!/bin/bash

while [ "$#" -lt "2" ]

do

echo please give me userfle or password file

exit 1

done

COUNT=`wc -l $1 | cut -d " " -f 1`

COUNT1=`wc -l $2 | cut -d " " -f 1`

while [ $COUNT -ne $COUNT1 ]

do

echo "/mnt/userfile's line is different from /mnt/password's line"

exit 1

done

NUM=1

COUNT2=$[$COUNT+1]

while [ "$NUM" -lt "$COUNT2" ]

do

USERNAME=`sed -n ${NUM}p $1`

PASSWD=`sed -n ${NUM}p $2`

id $USERNAME &> /dev/null

while [ "$?" -ne "0" ]

do

useradd $USERNAME &> /dev/null

echo $PASSWD | passwd --stdin $USERNAME &> /dev/nul

done

NUM=$[$NUM+1]

done

 

 

 

 

测试:

 

[root@localhost ~]# cat /mnt/userfile

westos

westos1

westos2

westos3

westos4

[root@localhost ~]# cat /mnt/password

123

234

567

896

123

[root@localhost ~]# script.sh /mnt/userfile /mnt/password

[root@localhost ~]# id westos

uid=1008(westos) gid=1008(westos) groups=1008(westos)

[root@localhost ~]# id westos1

uid=1009(westos1) gid=1009(westos1) groups=1009(westos1)

[root@localhost ~]# id westos2

uid=1010(westos2) gid=1010(westos2) groups=1010(westos2)

[root@localhost ~]# id westos3

uid=1011(westos3) gid=1011(westos3) groups=1011(westos3)

[root@localhost ~]# id westos4

uid=1012(westos4) gid=1012(westos4) groups=1012(westos4)

[root@localhost ~]# vim /mnt/password

[root@localhost ~]# cat /mnt/password

123

234

567

896

123

123

[root@localhost ~]# script.sh /mnt/userfile /mnt/password

/mnt/userfile's line is different from /mnt/password's line

[root@localhost ~]# script.sh /mnt/userfile

please give me userfle or password file

[root@localhost ~]# script.sh

please give me userfle or password file

 












本文转自blueclo51CTO博客,原文链接: http://blog.51cto.com/12774272/1939128,如需转载请自行联系原作者


相关文章
|
算法 定位技术 C++
基本算法-回溯法(迷宫问题)
基本算法-回溯法(迷宫问题)
1993 0
|
消息中间件 Cloud Native 前端开发
Spring Cloud Alibaba 2021.0.1.0 版本发布啦
本次隆重发布的 Spring Cloud Alibaba 2021.0.1.0 版本在 Spring Cloud 2021.0.1、Spring Boot 2.6.3 的基础上对其中包括注册配置中心、分布式消息等在内的众多组件进行重大升级。
6452 132
Spring Cloud Alibaba 2021.0.1.0 版本发布啦
|
7月前
|
存储 安全 API
2026年阿里云企业用户选配云服务器实用步骤教程
对企业用户来说,选配阿里云服务器和个人用户完全不同——核心不是“选便宜的”,而是“选适配的”,既要支撑业务稳定运行、满足合规要求,又要避免资源浪费、控制长期成本。很多企业初次选配时,要么盲目追求高配置导致资金浪费,要么只看价格选低配,后期业务卡顿、扩容麻烦,甚至踩合规红线。
526 12
|
7月前
|
数据采集 人工智能 供应链
破局 AI Agent 搭建师职业焦虑:从提示词写手到业务确定性架构师
本文剖析AI Agent搭建师面临“上下挤压+落地鸿沟”的职业焦虑根源,指出其本质是行业演进下的角色升级需求。文章提出从成因拆解、定位重构(转向“确定性业务结果的系统架构师”)、能力升级(SOP状态机、幻觉对抗、RAG治理)到路径落地的完整破局框架,助力从业者转型为AI业务架构师或AI系统工程师。(239字)
277 6
|
7月前
|
Web App开发 Windows
ChromeStandalone_58.0.3029.110使用步骤详解(附安装与设置教程)
ChromeStandalone_58.0.3029.110_Setup.exe是Google Chrome 58离线安装包,无需联网即可安装。该版本发布于2017年,适用于老旧系统或低配置电脑,及特定开发环境。下载后关闭杀毒软件(防误报),双击运行自动安装。首次使用可选设为默认浏览器或登录账号同步数据,操作简便,支持常规浏览功能与快捷键使用。
|
机器学习/深度学习 人工智能 自然语言处理
讯飞星火大模型:AI语言模型的巅峰之作
今年,我们不得不提的一个热门话题就是ChatGPT,这是一款基于语言模型的人机对话系统。它在工作和生活中给我们带来了极大的便利。作为一名从事IT行业的人,我深切体会到了它在技术和文本处理方面的重要性。
925 0
讯飞星火大模型:AI语言模型的巅峰之作
|
8月前
|
负载均衡 应用服务中间件 Nacos
Nacos配置中心
本章介绍Nacos作为配置中心的实现,涵盖配置管理、热更新、共享配置及优先级规则,并演示Nacos集群搭建与高可用部署,解决微服务架构下配置统一管理与动态更新难题。
|
9月前
|
JSON 安全 API
技术探索 | 淘宝平台商品评论数据获取方法与接口浅析
本文探讨获取淘宝商品评论数据的合规与技术路径,涵盖官方API申请、非官方接口逆向分析及爬虫实现难点,强调遵守平台规则与数据安全法规,建议优先采用合法渠道或第三方服务替代。
|
11月前
|
存储 运维 数据可视化
短剧为什么比长剧更依赖云和网络?
微短剧对云与网络的依赖远高于传统影视,因其制作周期短、投流驱动强、数据量大、IT团队轻量化及出海需求迫切。短剧的成功离不开高速传输、实时数据反馈、多云互联与跨境合规传输。一套理想的云网方案应具备高速文件传输、多云互联、跨境加速与合规、实时数据回传及可视化管理能力,助力短剧企业快速响应市场、提升投放效率、实现全球化分发。

热门文章

最新文章