LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 687|回复: 4

求一段shell脚本

[复制链接]
发表于 2006-3-19 19:29:17 | 显示全部楼层 |阅读模式
userlist.txt文件格式为UserAccnameassword:Groupname:Fullname
myadduser脚本从userlist.txt中读入数据,如果数据合法则添加一个相应的用户.......(其它要求省略)

我的疑惑之处:
1、初步考虑用一个for循环,每个循环中可使用变量username,password,group,fullname,怎么提取这些变量?
2、adduser命令如何指定密码?另外一直感到困惑的一个问题是:如何处理交互式的命令?如lftp -d后进入lftp的交互阶段,其后可有使用open等等命令进行具体操做,但是open命令怎么输入进去?

谢谢各位指教!
发表于 2006-3-19 22:31:39 | 显示全部楼层
给你个思路

  1. #!/bin/bash
  2. while read line
  3. do
  4. username=`echo $line|cut -d ":" -f 1`
  5. password=`echo $line|cut -d ":" -f 2`
  6. groupname=`echo $line|cut -d ":" -f 3`
  7. fullname=`echo $line|cut -d ":" -f 4`

  8. echo "groupadd $groupname"
  9. echo "useradd $username -p $password"
  10. done < user.txt

  11. 去掉echo就可以了
复制代码

cat user.txt

  1. UserAccname:Password:Groupname:Fullname
复制代码


交互式要用expect了 自己google一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-19 23:00:56 | 显示全部楼层
有一点不明白
done<user.txt是重定向到user.txt?加在done后面是说只有do到done之间的部分使用此重定向还是整个脚本都使用次重定向?
谢谢!
回复 支持 反对

使用道具 举报

发表于 2006-3-19 23:07:47 | 显示全部楼层
user.txt就是你的userlist.txt文件。
把文件内容>程序,这样好理解点呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-19 23:27:42 | 显示全部楼层
got it!
但是不知怎么在脚本中处理交互式的命令?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表