Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5277439
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: LINUX

2006-10-08 07:26:56

昨天的脚本,我想添加一个“批量添加管理员”的功能,实际上只是改一下原来的shell,把/sbin/nologin改为一个shell的路径,如/bin/sh。
添加的管理员的数目一般,不多,只有几个。可以通过脚本的参数传入脚本。
#!/bin/sh
Home_Dir=/home/ibmtc/Personal
PID=1001
while read line;
do
    #User Name is Lower
    name=`echo $line | tr [:upper:] [:lower:]`
    #But the original directory is Upper
    echo $name:x:$PID:$PID::$Home_Dir/$line:/sbin/nologin >> usersfile
    let "PID+=1"
done
for name in $@
do
    sed -i "/$name/s/\/sbin\/nologin/\/bin\/sh/" usersfile
done
这里,利用一个变量来作为pattern,直接的使用
sed -i ‘/$name/s/\/sbin\/nologin/\/bin\/sh/’ usersfile
是不行的
感谢Linuxsir上的热心网友回答我的问题,找到了解决方法。
sed -i '/'$name'/s/\/sbin\/nologin/\/bin\/sh/' usersfile
sed -i "/$name/s/\/sbin\/nologin/\/bin\/sh/" usersfile
阅读(3368) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~