Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5761037
  • 博文数量: 675
  • 博客积分: 20301
  • 博客等级: 上将
  • 技术积分: 7671
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-31 16:15
文章分类

全部博文(675)

文章存档

2012年(1)

2011年(20)

2010年(14)

2009年(63)

2008年(118)

2007年(141)

2006年(318)

分类:

2006-06-07 17:48:05

昨天的脚本,我想添加一个“批量添加管理员”的功能,实际上只是改一下原来的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

阅读(871) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~