script.sh

1.要求

2.脚本内容

**

#!/bin/bash

while [ "$#" -lt "2" ]     //验证脚本后的文件是否小于2个

do

echo "please give me userfile or passwd file "

exit 0

done

x=`cat $1 | wc -l`

y=`cat $2 | wc -l`

while  [ "$x" -ne "$y" ]   //验证两个文件是否一致

do

echo "/mnt/userfile‘s line is different /mnt/passwdfile‘s line"

exit 0

done

for ((i=1;i<=$x;i++))

do

name=`sed -n "$i"p $1`

pass=`sed -n "$i"p $2`

useradd $name &>/dev/null

num=`echo $?`

if [ "$num" -eq "0" ];then     //验证用户是否存在

echo $pass | passwd --stdin $name  //不存在时,建立用户并设置密码

else                 //存在时不做任何操作

echo "                               " &>/dev/null

fi

done

3.测试

* 脚本后只跟一个文件

* 两个文件行数不一致

* 建立用户并设置密码

* 当user1和user3存在时,只建立user2用户,并且不对user1和user3做任何操作。

时间: 2024-11-08 18:11:42

script.sh的相关文章

2014马哥Linux0218-4中script.sh的题目

这道题目虽然不是很难,但是如果编程不熟练的话,还是有些挑战的.在这里感谢我搜索到的这位朋友,他的解题代码给我很大的参考,他的blog是:http://sohudrgon.blog.51cto.com/3088108/1586780/ 写一个脚本,完成如下任务,其使用形式如下所示: script.sh {start|stop|restart|status} 其中: 如果参数为空,则显示帮助信息,并退出脚本: 如果参数为start,则创建文件/var/lock/subsys/script,并显示"s

shell script详解

shell script详解 定义 利用shell的功能写的一个"程序"(program),这个程序是纯文本文件,可以将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式.管道命令与数据流重定向. 用途 自动化管理.管理系统.入侵检测.连续命令单一化.简单的数据处理.跨平台使用等 规范 #!/bin/bash 声明这个文件内的语法是bash的语法,则系统会加载bash的相关配置文件来执行下面的命令 # Program: #       This program shows

shell script追踪和调试

1. shell script调试 使用sh命令,检查shell的语法,追踪执行步骤. sh [-nvx] script.sh -n : 不执行script,仅检查是否有语法问题 -v : 执行前将script打印出来 -x : 将使用到的script打印出来 2. 检查语法错误 使用sh -n, 如果有语法错误,会提示出来. [[email protected] sh]$ sh -n for.sh for.sh: line 7: syntax error near unexpected tok

bash shell学习-shell script基础 (笔记)

A chain no stronger than its weakest link. "一着不慎,满盘皆输" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版)  Linux Shell脚本攻略     Linux程序设计(第四版) 一.什么是shell script 1.什么是shell script 简单来说,shell script(程序化脚本)是利用shell功能所写的一个“程序”,它拥有自己的语法特性 2.为什么要学shell script 对于一个初学者来说,我觉得就那

第13章 学习shell script

第一个script [[email protected] script]# cat -n sh01.sh 1 #!/bin/bash 2 #Program: 3 #This program shows "Hello World!" in your screen. 4 PATH=/usr/local/java/jdk1.8.0_91/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin:~/b

三:QJM HDFS高可用

本文介绍的是HDFS的一种HA方案.虽然有checkpoint node \backup node等,但是不能实现自动的failover. http://hadoop.apache.org/docs/r2.6.3/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html 1.在2.0.0版本以下,namenode是单个的,如果namenode宕机,就会导致整个集群不可用.QJM 是HA的一种实现方式,通过master/sla

Linux shell 脚本

#!/bin/bash shebang 是一个文本行,其中#!位于解释器路径之前,/bin/bash是Bash的解释器命令路径. 有两种运行脚本的方式,一种是将脚本作为Bash的命令行参数,另外一种是授予脚本执行权限,将其变为可执行文件. 对脚本设置可执行权限: $bash script.sh#文件名称 $chmod 777 script.sh#给文件赋予读写可执行权限$./script.sh#./表示当前目录 使用shell进行数学运算 let命令可以直接进行数学运算,变量名之前不需要添加$

Fabric 1.0 ubuntu1704安装过程

1.git安装 apt-get install git 查看当前安装git的版本: git version 验证git是否安装好. 2.golang环境搭建 (1)安装 apt-get install golang (2)查看go的安装路径 go env (3)配置Go环境变量,对应有{GOROOT,GOPATH,PATH}: 对应修改路径: mkdir /opt/gopath/src/github.com/hyperledger/ -p vi /etc/profile   export GOR

Keepalived安装与配置

一.简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务. 上图是Keepalived的功能体系结构,大致分两层:用户空间(user space)和内核空间(kernel space