编写一个shell脚本,添加100个新用户

作者&投稿:伯牙吾台龚 (若有异议请与网页底部的电邮联系)
linux一次创建100个用户怎么创建用命令~

1、Ubuntu中创建新用户需要先获取root管理员权限,因此先使用sudo su命令获取最高权限。注意获取root权限需要输入你自己的用户密码。

2、批量创建100个以“duanzhang”为用户名前缀的用户,命令为:seq -w 100|sed -r "s#(.*)#useradd duanzhang\1#g"|bash 。

3、查看新用户是否创建成功,命令为:tail -100 /etc/passwd 。这条命令的意思是输出passwd文件的后100行。

4、将要修改的用户名和密码写入pass.log文件中,命令为:echo duanzhang{01..20}:$((RANDOM))|tr " " "
" >pass.log 。命令里的RANDOM表示生成随机数,以作为随机密码。

5、查看生成的pass.log文件的内容,以确认是否成功写入文件。从图中可以看到生成了100行数据,每一行使用冒号隔开用户名及其对应的密码,可以看到这100个密码并无规则,是随机的。

6、执行chpasswd命令:chpasswd<pass.log 。其中chpasswd命令在Ubuntu中用于批量更改用户密码,它需要先读取我们前一步生成的密码文件pass.log,然后根据该文件内容修改密码。

7、根据pass.log文件里记录的这100个用户的密码逐个查看对应的随机密码是否有效。使用su命令切换到新用户并输入pass.log里记录的对应的密码,成功登录,可见用户创建成功。

creat#!/bin/bash echo "please input a or b:"read creatcase $creat in"a") for i in {1..100} do useradd user$i -c "This is a Student." -g root done ;;"b") mkdir /root/ks/cqcet for i in {1..200} do mkdir /root/ks/cqcet/abc$i chmod 740 abc$i done ;;*) echo "Please enter a or b" ;;esac这里没有写创建ks文件夹,首先保证ks文件夹存在

i=1
for (1..100)
do 
    groupadd users
    adduser user$i -g users
    echo user | passwd "user$1" --stdin
    i=$( $i + 1)
done

添加100用户在users组,并设置密码为user



#!/bin/bash
# Date and Time:2017-08-17-00:12

read -p "input a group name:" n

if `awk -F : '{print $1}' /etc/group | grep $n &>/dev/null` ; then
echo $?
echo "$n exist! use another groupname!"
exit 1
else
echo $?
groupadd $n&&echo "groupadd complete"
fi

i=0
for v in {01..100}
do
useradd us$v -g $n 2>/dev/null
if [[ $? -eq 0 ]] ;then
i++
fi
done

if [[ $i -eq 100 ]] ;then
echo "useradd complete"
else
echo "useradd failed"
fi

for ((i=0;i<100;i++));do useradd test$i ; done
试试行不行

for i in {1..100}; do aa=`printf "useradd test%03d\n" $i`;$aa; done;
会按照如下命令创建用户

useradd test001
useradd test002
useradd test003
useradd test004
useradd test005
useradd test006
useradd test007
useradd test008
useradd test009
useradd test010

#!/bin/bash
for name in $( seq 1 100 )
    do
        useradd "user$name"
            if [ $? -eq 0 ];then
                echo -e "
创建 "user$name" 成功!"
            fi
       done



如何编写一个shell脚本
新建一个文件shell脚本一般用×.sh作为后缀当然勇气他的也可以。打开终端输入touch first.sh 新建一个名为first的shell脚本。编写一个简单的linuxshell脚本 使用vim 编辑first.sh也可以用其他的文本编辑器,推荐使用vim 使用命令 vim first.sh打开,输入i进入编辑模式。编写一个简单的linuxshell脚本 我们写...

如何编写一个shell脚本
我们利用这一点写了一个叫做smartzip的脚本,该脚本可以自动解压bzip2, gzip 和zip 类型的压缩文件: #!\/bin\/shftype=`file "$1"`case "$ftype" in"$1: Zip archive"*) unzip "$1" ;;"$1: gzip compressed"*) gunzip "$1" ;;"$1: bzip2 compressed"*) bunzip2 "$1" ;;*) error "File $1...

如何编写一个简单的shell脚本
4、如果要取消对应的权限,使用“-”号即可。5、除了使用RWX字符后还可以用数字来代表,R=4 W=2 X=1,chmod 777 b.txt对所有权限都加上3个权限。6、R=4 W=2 X=1,7=R+W+X,6=R+W等,如果用数据来设置权限需要计算一下,个人感觉还是用字符好理解一点,熟悉了那用数字会更快些。

linux创建shell脚本文件linux创建shell脚本
用vim编辑器创建一个shell脚本文件,在脚本文件里输入需要执行的shell命令,保存脚本文件,并赋执行权限,执行脚本文件即可。shell脚本运行命令?在linux下shell脚本执行命令主要有四种方式,具体介绍如下:方式一:切换到shell脚本所在的目录(也叫工作目录)执行shell脚本,具体代码是:cd\/data\/shell .\/hello....

写一个shell脚本,要求输入用户名密码,用户名输错三次自动退出脚本,输对...
let i=0 let j=0 while true do read -p '请输入用户名:' name rname=`cat \/autorun\/script\/passwd.conf |grep '\\<'$name'\\>'`rname=${rname:=0} if [ "$rname" = "0" ];then echo "输入的账号不存在!"let i=i+1 if [ "$i" = "3" ];then echo "账号已输入三次...

如何从零开始写shell脚本
1、首先利用cat > 或者vim 建立一个新文件tss。2、然后在新建的文件中编写相应的脚本,如下:[plain] view plain copy #!\/bin\/sh  echo hello  注意:编写shell脚本,#! \/bin\/sh必须要有,这个是告知Linux内核应该以哪个shell来执行所指定的shell脚本。3、chmod ...

创建一个shell 脚本,它从用户那里接收10个数,求和,并显示输出结果。_百 ...
let sum=0 for((i=1;i<=10;i++));do read -p '请输入第'$i'个数:' num$i;let sum=sum+num$i;done echo "总和为:$sum"

linux下怎么编写一个shell脚本
如果你的软件都是命令行自动安装的话,你可以通过shell脚本批量安装把安装软件的命令写进去,用一个for循环就可以了

如何编写一个shell脚本
可用过连续的.操作获取对应json对象中的属性值, 上面的命令将会生成一个{message: "...", name: "..."}的json对象.shell文件读写 1、写 方式一:将ll的内容写入fileName这个文件中 >是覆盖, >>是在后面追加 ll >fileName 但是在书写.sh脚本的时候, 需要增加echo echo ll>fileName 2、读 w...

写一个简单的shell脚本或Python脚本
import osfor i in range(1, 21):dir_Name = r'f:\/27\/other\/py\/File\/File'+str(i)+'\/'os.makedirs(dir_Name)for j in range(1, 4):fileName = r'f:\/27\/other\/py\/File\/File'+str(i)+'\/'+'text'+str(j)+'.txt'f = open(fileName,'w')f.close()for j in range(1,...

马尾区13252286536: 编写一个shell脚本,添加100个新用户 -
利郝香砂: for i in {1..100}; do aa=`printf "useradd test%03d\n" $i`;$aa; done; 会按照如下命令创建用户useradd test001 useradd test002 useradd test003 useradd test004 useradd test005 useradd test006 useradd test007 useradd test008 useradd test009 useradd test010

马尾区13252286536: 编写一个 Shell脚本文件,能接受来自键盘输入的100个数,并计算出其最大值及次大值 -
利郝香砂: #!/bin/sh read num read num1 if (($num>$num1));then a=$num;b=$num1;else a=$num1;b=$num;fi while (( i do read num2 if (($num2>=$a)) then b=$a a=$num2 elif (($num2then b=$b a=$a else a=$a b=$num2 fi i=$(($i+1)) done echo $a $b#ok?#!/bin/sh a=0 while (( i do read num a=$(($num+$a)) i=$(($i+1)) done echo $a 没看清题意 搞成求和了 呵呵

马尾区13252286536: 编写一个shell脚本程序,实现100的阶乘并输出 -
利郝香砂: 脚本至少有如下错误:{j}改为${j}或$j,是要取值的啊 expr语句外面是反引号(键盘上ESC下面那个键)而不是单引号,表示执行命令而不是单纯一个字符串,expr后面的运算符左右两侧要有空格.if跟[之间是要有空格的,if判断表达式比较符两...

马尾区13252286536: 在linux上,用C语言和shell脚本2种方法实现1+2+3+……+100,并在终端上显示出来 -
利郝香砂: C语言:#include <stdio.h> int main(){ int i; int sum=0; for(i = 1;i<=100;i++) {sum+=i; }printf("sum :%d\n",sum); return 0; } shell:#!/bin/bash i=1 sum=0 while((i<=100)) do((sum=sum+i)) ((i++)) done echo "sum is $sum"

马尾区13252286536: 在linux上,用shell脚本实现1+2+3+……100,并在终端上显示出来 -
利郝香砂: #!/usr/bin/perl$counter += $_ for 1..100; print $counter;

马尾区13252286536: 编写shell脚本文件,能接受来自键盘输入的100个数,计算最大值及次大值 -
利郝香砂: #!/usr/bin/kshcal_id=1 num_count=100 max_num=-99999 second_max_num=-99999 while [ $cal_id -le $num_count ] do read line if [ $line -ge $max_num ] ; then second_max_num=$max_num max_num=$line else if [ $line -ge $second_max_...

马尾区13252286536: 请教!写一个shell的1加到100的小程序. -
利郝香砂: num=1 totalnum=0 while [ $num -le 100 ] do ((totalnum=$totalnum+$num)) ((num=$num+1)) done echo "Total munber= $totalnum"

马尾区13252286536: 编写一个求1到100之和的shell脚本 -
利郝香砂: while 循环版本#! /bin/bash i=1 j=0 while : do j=$((j + i)) ((i == 100 )) && break ((i++)) done echo $j for 循环版本#! /bin/bash j=0 for ((i=1 ; i<=100 ; i++)) do j=$((j + i)) done echo $j

马尾区13252286536: 编写一个SHELL脚本程序计算1到100的和 -
利郝香砂: #!/bin/bash j=0 for ((i=1;i<=100;i++));doj=$(($i+$j)) doneecho $j

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网