用shell脚本批量创建30个用户,用户名为exam1~exam30,用户密码统一为gdlclinux。

作者&投稿:毓呢 (若有异议请与网页底部的电邮联系)
编写以下shell脚本,保存为/exam/shell目录下的(1.sh 2.sh 3.sh):~

1.取出/etc/passwd文件中的用户名和UID的字段,并将输出结果以UID的大小顺序排列;
[root@localhost shell]# cat 1.sh
#!/bin/bash
awk -F: '{print $3,$1}' /etc/passwd|sort -n

2.判断输入的数值是奇数还是偶数;
[root@localhost shell]# cat 2.sh
#!/bin/bash
read num
if [ `expr $num % 2` = '0' ];then
echo "the number is 偶数"
else
echo "the number is 奇数"
fi

3.批量创建30个用户,用户名为exam1~exam30,用户密码统一为gdlclinux。
[root@localhost shell]# cat 3.sh
#!/bin/bash
for((i=1;i<=30;i++))
do
useradd exam$i
echo gdlclinux|passwd --stdin exam$i
done

首先要了解,添加一个用户不过是在passwd文件里面写入一行数据而已!所以呢,只要按照格式写就好了!
使用newuser和chpasswd工具即可批量添加用户以及创建密码!但要事先写好列表,使用newuser工具导入passwd文件中。格式要遵循passwd文件的格式!以及密码列表,格式为user:passwd,使用chpasswd将其写入passwd文件中,之后需要创建密文,用pwconv工具即可。如果之前你的passwd使用密文需要先将密文转换为明文,之后在进行密码列表导入。pwunconv

写好了,还在测试,测试好了就给你。
写好了,通过测试了。
########################################################################
#注:本脚本中使用了函数模块,以方便修改和调试
#************************************************
# 2011年12月10日 初稿
#************************************************
# 2011年12月11日 测试 问题:密码修改函数尚未实现
#************************************************
# 2011年12月11日 定稿 密码修改函数实现
#************************************************
# by bmw88661@126.com 12.11.2011
########################################################################

#设置变量
i=1
username=exam
password=gdlclinux
rmso=$(tput rmso)
smso=$(tput smso)
#此处可添加要求输入用户名和密码的项

#错误判断函数
SEA()
{
location=$( which useradd ) #查找useradd的绝对路径
if [ \( "$location" = "" \) -o \( -s "$location" \) ] #判断是否找到useradd文件,或着找到的文件为空
then
echo "Useradd was not found,job terminated $smso unsuccessfully$rmso!"
exit
else
if [ -x "$location" ] #若useradd文件存在且不为空,判断是否具有可执行权限
then
echo "Command useradd doesn't have excution(x) mode"
exit
else #无法确定问题原因
echo "Script terminated by some unknown problem,Please check it!"
exit
fi
fi
}
#提示信息函数
casemsg()
{
#判断passwd执行的返回值,并进入case分支
case "$y" in
0) echo "Set password for $smso $username$i$rmso successfully"
;;
1) echo "Permission denied when set password for $smso $username$i$rmso"
exit 1 ;;
2) echo "Invalid combination of options for command passwd"
exit 2 ;;
3) echo "Unexpected failure, nothing done"
exit 3 ;;
4) echo "Unexpected failure, passwd file missing"
exit 4 ;;
5) echo "Passwd file busy, try again"
exit 5 ;;
6) echo "Invalid argument to option"
exit 6 ;;
esac
}
#用户创建函数
usercreate()
{
useradd -m $username$i #如果需要其他功能,请参照useradd帮助手册修改此行,如:设置uid
x=$?
}
#密码修改函数
#这里如果你的系统里有chpasswd这个批修改工具的话,就不用这么麻烦了。
MOVpassword()
{
( echo "$password";sleep 1;echo "$password" )|passwd $username$i #若useradd执行成功,则调用passwd设置密码
y=$?
}
#主循环
while [ "$i" -ge 1 -a "$i" -le 30 ]
do
usercreate #调用usercreate函数创建用户
if [ "$x" -eq 0 ] #判断useradd是否执行成功
then
echo "User $smso $username$i$rmso have been create successfully!"

MOVpassword #调用MOVpassword修改密码

casemsg #调用casemsg函数

if [ "$y" = 0 ] #如果MOVpassword的返回值为0,则将i加1
then
let i++
fi

else
SEA #调用错误判断函数

fi
done
unset i x y location rmso smso username password #释放所有设定的变量

#/bin/bash
i=1
for ((i=1;i<=10;i++));
echo gdlclinux | pw useradd exam$i
done


shell批量执行同一目录不同文件夹里面的东西
注意文件本身别放到50个文件夹里面,容易造成死循环。!\/bin\/sh for file in `find \/opt -type f -name "*.sh"`;do echo $file sh $file done

shell 批量压缩脚本
LINUX shell:\/bin\/bash dirctory=目录 file=`ls -lct $dirctory|awk 'NR>1&&NR<=101{print $NF}'`tar -rf file.tar $file sleep 100(视文件大小而定)rm -rf $file

linux怎样一次运行多个shell脚本?
inux 下shell脚本执行多个命令的方法\\x0d\\x0a1.每个命令之间用;隔开\\x0d\\x0a说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。\\x0d\\x0a2.每个命令之间用&&隔开\\x0d\\x0a说明:若前面的命令执行成功,才会去执行后面的命令。这样...

帮我修改一个linux的shell脚本:根据文件名批量搜索并复制文件
while read line; do if [ -f "\/sample\/$line" ]; then echo "file exists: $line"; cp "\/sample\/$line" \/new\/; fi; done < file.txt

Linux下如何用Shell脚本批量创建文件软链接
for i in `cat file.list`do ln -s $i done file.list是包含所有文件名的一个文件

linux shell批量解压脚本
全部解压?7za 格式必须有他专用的解压程序 7z。文件名不要包含空格。for i in *.7za do mkdir -p "x\/$i"7z x "$i" -o"x\/$i"done 7z解压自动使用多cpu核心。4个解压文件一个一个解压比4个同时解压效率高。

用shell脚本批量创建30个用户,用户名为exam1~exam30,用户密码统一为gdlc...
写好了,还在测试,测试好了就给你。写好了,通过测试了。注:本脚本中使用了函数模块,以方便修改和调试 2011年12月10日 初稿 2011年12月11日 测试 问题:密码修改函数尚未实现 2011年12月11日 定稿 密码修改函数实现 by bmw88661@126.com 12.11.2011 设置变量 i=1 username=exam pas...

...提取文本中前两行数据的shell脚本,请高手指点,万分感谢
这样删除空行,grep -E -v '^[\\t\\n ]*$' file > outfile 用脚本批量改,在该目录下放入这脚本 ! \/bin\/bash for i in *.txt # 假设副档为 .txt do grep -E -v '^[\\t\\n ]*$' "$i" > "$i".bak ret=$?if [ $ret -eq 0 ]then mv -f "$i" "$i".temp mv -f "...

指定模板\\母盘,批量生成HV虚拟机的powershell脚本
Import-Module Hyper-V #导入模块 输入部分:ParentPath= "D\\VM\\XP.VHDX" #母盘 NewVMMemoryStartupBytes="512MB"NewVMGeneration= "1.0"NewVMSwitchName= "NET123" #网络名称 NewVMvCPU= "1"for($i=1;$i -le 100;$i++){ 输入部分:name= "work-$i" #机器名 New-VHD -ParentPath ...

如何写一个shell脚本实现使用1000个测试数据执行被测程...
假设测试程序a 需要传入参数 input1 执行是 .\/a inout1 那么这个1000个测试执行可以按如下命令批量执行 ls input* | xargs -I {} .\/a {} 如果input目录下面还有其它input类似的文件比如input_test,inputA之类的需要过滤,那么可以过滤一下 ls input* |grep "input[0-9]\\{,4\\}$" | xargs -...

雨花区13240811466: 编写一个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

雨花区13240811466: 编写以下shell脚本,保存为/exam/shell目录下的(1.sh 2.sh 3.sh):
康询金振: 1.取出/etc/passwd文件中的用户名和UID的字段,并将输出结果以UID的大小顺序排列;[root@localhost shell]# cat 1.sh#!/bin/bash awk -F: '{print $3,$1}' /etc/passwd|sort -n2.判断输入的数值是奇数还是偶数;[root@localhost shell]# cat 2.sh#!/bin/...

雨花区13240811466: 用shell脚本批量创建30个用户,用户名为exam1~exam30,用户密码统一为gdlclinux. -
康询金振: 写好了,还在测试,测试好了就给你.写好了,通过测试了.#########################################################################注:本脚本中使用了函数模块,以方便修改和调试#********************************************...

雨花区13240811466: Linux的shell脚本,批量创建用户,题目如下,求解 -
康询金振: #!/bin/bash # Your answer # USERHOMEBASE=/rhome USERNAMEBASE=user USERPASSWORD=redhat USERSHELLHIGH=/sbin/nologin USERSHELLLOW=/bin/bash USERIDBASE=1000 USERSNSTART=1 USERSNEND=30for ((i=$...

雨花区13240811466: linux中 用shell命令批量新建用户的方法建立用户 k1 k2 k3 k4 k5 登录口令统一设置为12345 求详细操作步骤 -
康询金振: 可以建立一个shell脚本处理,脚本内容如下,这只是个简单的脚本,没有对用户设置组和家目录,也没有判断用户是否存在,实际应用中需要注意处理:#!/bin/bash#设置初始密码 kpasswd="12345" for kuser in k1 k2 k3 k4 k5 do useradd $kuser echo "$kuser:$kpasswd" | chpasswd echo "用户$kuser建立成功,初始密码是$kpasswd" done

雨花区13240811466: 一次性Linux创建1000个用户 user 初始密码都为123456 shell脚本怎么写? -
康询金振: 你可以写一个shell脚本基本上,批量添加用户有两种方式:一是用useradd + passwd命令配合脚本来添加;二是用newusers+chpasswd来添加.方法一、useradd + passwd命令配合脚本来添加用户的初始密码被设为用户名+123#! /bin/...

雨花区13240811466: linux shell 脚本如何实现批量添加用户(用户名是不规则的)并初始化用户密码为用户名?
康询金振: 首先要了解,添加一个用户不过是在passwd文件里面写入一行数据而已!所以呢,只要按照格式写就好了! 使用newuser和chpasswd工具即可批量添加用户以及创建密码!但要事先写好列表,使用newuser工具导入passwd文件中.格式要遵循passwd文件的格式!以及密码列表,格式为user:passwd,使用chpasswd将其写入passwd文件中,之后需要创建密文,用pwconv工具即可.如果之前你的passwd使用密文需要先将密文转换为明文,之后在进行密码列表导入.pwunconv

雨花区13240811466: 如何利用Linux Shell脚本批量添加用户 -
康询金振: useradd.sh#!/bin/bash for name in tom joy john mark james do useradd $name echo "redhat" | passwd --stdin $name done 《linux就该这么学》里边有详细的介绍

雨花区13240811466: 在Linux下用shell脚本程序设计自动创建用户 题目要求: 创建任意数量的用户,用户名使用“任意字符串+数字”的形式,如果不足十前面需要补0. 密码使用用户名,且要求用户第一次登录时修改密码.(提示使用修改用户密码状态命令chage). 创建用户时需要先判断用户是否存在,如果
康询金振: 没看下面的,但是差不多,我上面用的是for循环遍历/etc/passwd文件!while+read的使用方法是思路给你了!其他的就自己去思考!有问题,死循环!把最开始的for循环删掉,然后把if里面的变量换成cat passwd |cut -d ':' -f1 |grep uset0$b,下面一个也改成相应的!

雨花区13240811466: linux中如何批量创建用户
康询金振: 编写一个 shell脚本 就可以批量创 如果用useradd 创的话 创多个用户的话 不手都打残

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