sh/bash/dash/ksh/zsh等Shell脚本
-
byZh
- 帖子: 198
- 注册时间: 2009-01-11 21:38
#1
帖子
由 byZh » 2010-07-16 17:23
一个文本文件内容如下:
代码: 全选
user1 abcd
user2 g23d
user3 vgq2
…… ……
根据文件内容批量创建用户,第一列为用户名,第二列为对应用户的密码
以缺德服人......
-
adam8157
- 帖子: 2794
- 注册时间: 2009-03-05 16:31
-
联系:
#2
帖子
由 adam8157 » 2010-07-16 18:59
这个...一行一行读, 交给swk分出名字和密码 再交给useradd....就ok了吧....
-
byZh
- 帖子: 198
- 注册时间: 2009-01-11 21:38
#3
帖子
由 byZh » 2010-07-16 20:54
adaml 写了:这个...一行一行读, 交给swk分出名字和密码 再交给useradd....就ok了吧....
写出来在自己的机器上实现一下
以缺德服人......
-
ChenFengyuan
- 帖子: 770
- 注册时间: 2008-03-23 0:39
#4
帖子
由 ChenFengyuan » 2010-07-17 7:29
perl -ne '($user,$pass)=split;system("useradd $user -p $pass")'
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#5
帖子
由 tusooa » 2010-07-18 9:46
楼上是perl脚本了。
代码: 全选
#!/bin/bash
while read line; do
username="${line% *}"
password="${line#$username }"
useradd -p "$password" "$username"
done < file
总共一个外部命令,而且是必须要用的。
-
byZh
- 帖子: 198
- 注册时间: 2009-01-11 21:38
#6
帖子
由 byZh » 2010-07-18 18:47
tusooa 写了:楼上是perl脚本了。
代码: 全选
#!/bin/bash
while read line; do
username="${line% *}"
password="${line#$username }"
useradd -p "$password" "$username"
done < file
总共一个外部命令,而且是必须要用的。
我运行了一下,不行!
代码: 全选
useradd:无效的用户名“use1 123”
useradd:无效的用户名“use2 234”
以缺德服人......
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#7
帖子
由 tusooa » 2010-07-18 21:05
1楼给的文件里的username和password的分隔符是两个空格,而你输入只输入了1个!当然要出错!
-
kokerjie
- 帖子: 8
- 注册时间: 2010-07-15 13:41
#8
帖子
由 kokerjie » 2010-07-20 12:03
#!/bin/bash
while read line; do
username=`echo $line | cut -d ' ' -f1`
password=`echo $line | cut -d ' ' -f2`
useradd -p "$password" "$username"
done < file
这样写,就可以不管多少空格都可以
-
kokerjie
- 帖子: 8
- 注册时间: 2010-07-15 13:41
#9
帖子
由 kokerjie » 2010-07-20 12:05
代码: 全选
#!/bin/bash
while read line; do
username=`echo $line | cut -d ' ' -f1`
password=`echo $line | cut -d ' ' -f2`
useradd -p "$password" "$username"
done < file
这样写,就可以不管多少空格都可以
-
byZh
- 帖子: 198
- 注册时间: 2009-01-11 21:38
#10
帖子
由 byZh » 2010-07-22 21:24
偶知道这个不算什么难题,但是……
还有很多东西需要我去学习,多谢楼上那么多位!
以缺德服人......
-
yangsp805
- 帖子: 5
- 注册时间: 2009-10-22 14:14
#12
帖子
由 yangsp805 » 2010-07-23 16:10
代码: 全选
#!/bin/bash
while read line; do
username=`echo $line | cut -d ' ' -f1`
password=`echo $line | cut -d ' ' -f2`
useradd -p "$password" "$username"
done < file
-
ly50247
- 帖子: 89
- 注册时间: 2008-07-29 8:01
#15
帖子
由 ly50247 » 2010-07-27 19:45
awk '{system("useradd " $1 " -p " $2) }' file.txt
这样可以吗