红联Linux门户
Linux帮助

想请各位红友检查下脚本错误

发布时间:2011-08-20 22:38:06来源:红联作者:bawoshiji
以下是两个批量添加和删除用户的脚本,希望大家给看下哪出错了
#!/bin/bash
i=1
read -p "请输入你想新建的用户数量:" A
read -p "请输入用户名前缀:" B
read -p "请输入用户失效时间:" C
read -p "请输入用户初始密码:" D
while [ $i -le $A ]
DO
if [ $i -lt 10 ] ; then
USE=$B0$i ##此处0为数字
else
USE=$B$i
if
useradd -e $C $USE
echo "$D" | passwd --stdin $USE &> /dev/null
let i++
done
上面是添加用户,下面为删除用户两个脚本相互对应
#!/bin/bash
i=1
read -p "请输入你批量想删除的用户名前缀:" A
read -p "请输入你想删除用户的数量:" B
while [ $i -eq $B ]
do
if [ $i -lt 10 ] ; then
USE=${A}0$i
else
USE=$A$i
fi
userdel -d $USE | grep -v "root" /etc/passwd | cut -d "root"
let i++
done
以上脚本有错误之处,希望大虾们来帮帮小菜搞定哈~~!
文章评论

共有 10 条评论

  1. bawoshiji 于 2011-08-21 18:37:32发表:

    总目标:请输入你想删除的用户名前缀:
    请输入你想删除包含上述用户名前缀的数量范围:a-b
    这样做下来灵活多了,思路也清晰了,但,咋个编法呀,没接触过

  2. bawoshiji 于 2011-08-21 18:12:15发表:

    小错误有点多,我知道的就不要说了 我写脚本有点马虎,呵呵不好意思(o):tx
    如果删除的脚本做好的话,相当于可以根据前缀更灵活的进行删除用户,但是一直找不到更好的思路,也不知道思路是卡到哪了~~(5ty(

  3. bawoshiji 于 2011-08-21 18:12:06发表:

    小错误有点多,我知道的就不要说了 我写脚本有点马虎,呵呵不好意思(o):tx
    如果删除的脚本做好的话,相当于可以根据前缀更灵活的进行删除用户,但是一直找不到更好的思路,也不知道思路是卡到哪了~~(5ty(

  4. bawoshiji 于 2011-08-21 18:12:01发表:

    小错误有点多,我知道的就不要说了 我写脚本有点马虎,呵呵不好意思(o):tx
    如果删除的脚本做好的话,相当于可以根据前缀更灵活的进行删除用户,但是一直找不到更好的思路,也不知道思路是卡到哪了~~(5ty(

  5. bawoshiji 于 2011-08-21 18:09:58发表:

    问题是用户能创建
    但删除的时候好像不行唉!
    第一个脚本if条件后面第一个USE写错了
    是USE=${B}0$i
    我的初忠是在删除用户的时候根据用户名前缀进行删除,并可以自己指定删除的数量和范围
    比方说建立了100个用户 我想删除第50-80个用户怎么做?
    那个DO是我打错了 应该是do 我脚本里是小写的
    第一个脚本修改后成功,但删除的脚本好像不行,请问有解决的办法么,运行一后没什么反应,也没删除也没有任何操作出现

  6. age 于 2011-08-21 14:06:03发表:

    [i=s] 本帖最后由 age 于 2011-8-21 14:08 编辑 [/i]

    引用:
    USE=$B0$i

    这种写法很不好
    究竟你的变量名称是$B还是$B0呢?
    应该用{}把变量名称扩起来以免歧义

    引用:
    USE=${B}0$i

    其次if..else..fi这样的对应关系, 最后一个是fi而不是if
    另外, 没有错误信息, 这样很难排错的
    在脚本前面加上set -x

  7. 相思爱文 于 2011-08-21 13:37:52发表:

    [i=s] 本帖最后由 相思爱文 于 2011-8-21 13:41 编辑 [/i]

    linux是区分大小写的,
    do和DO是不同的。
    别的楼下补充。

  8. bawoshiji 于 2011-08-20 23:52:06发表:

    跪求:0wmjh(1

  9. bawoshiji 于 2011-08-20 23:31:09发表:

    求高手解决:0w223dc

  10. wang4289273 于 2011-08-20 23:21:03发表:

    好深奥。刚开始学script。还没到这地步、楼主。佩服佩服