免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6334 | 回复: 8
打印 上一主题 下一主题

[系统管理] 批处理报错,请高手帮助修改一下! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2021-09-01 21:17 |只看该作者 |倒序浏览
我之前做的一个批量创建系统用户和SMB用户的批处理,在CENTOS8,3下面失效了
脚本如下:
#!/bin/bash

    for i in `awk '{print $1}' myusers.list `

    do

    useradd $i

    grep "\<$i\>" myusers.list | awk '{print $2}' | passwd --stdin $i
    grep "\<$i\>" myusers.list | awk -F: '{print $2"\n"$2}' | smbpasswd -a $i -s
    done


报错如下:
行1: $'\r': 未找到命令
./add-users.sh:行3: 未预期的符号 `$'do\r'' 附近有语法错误
'/add-users.sh:行3: `    do


myusers.list的内容如下:
user1   123@789eke
user2   123@789eke
在以前CENTOS6上面是可以正常运行的,请高手帮我调试一下,找找原因,谢谢!

论坛徽章:
0
2 [报告]
发表于 2021-09-01 21:20 |只看该作者

#!/bin/bash

    for i in `awk '{print $1}' myusers.list `
    do
        echo -e "123XXX\123XXX" | smbpasswd -a $i -s
    done

用这个代码也报错:
Unable to get new password.

论坛徽章:
0
3 [报告]
发表于 2021-09-01 21:23 |只看该作者

#!/bin/bash

    for i in `awk '{print $1}' myusers.list `
    do
        echo -e "123XXX\123XXX" | smbpasswd -a $i -s
    done

用这个代码也报错:
Unable to get new password.

论坛徽章:
6
15-16赛季CBA联赛之浙江
日期:2021-07-14 11:18:4315-16赛季CBA联赛之浙江
日期:2021-08-20 17:26:1015-16赛季CBA联赛之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役纪念章
日期:2021-10-12 11:33:4515-16赛季CBA联赛之深圳
日期:2021-11-11 14:25:38
4 [报告]
发表于 2021-09-02 16:29 |只看该作者
看不出来你的错误是什么,我的脚本给你参考一下吧
  1. #!/bin/bash

  2. cat user.txt | while read line

  3. do

  4.         user=`echo ${line}|awk '{print $1}'`

  5.         pass=`echo ${line}|awk '{print $2}'`

  6.         useradd -d /home/$user -s/bin/bash -g 1001 $user

  7.         echo $pass | passwd --stdin $user

  8. done
复制代码

论坛徽章:
0
5 [报告]
发表于 2021-09-04 09:18 |只看该作者
回复 4# a5love3n

你测试过smbpasswd -a  增加smb用户吗?我的代码增加系统用户是没问题的

论坛徽章:
6
15-16赛季CBA联赛之浙江
日期:2021-07-14 11:18:4315-16赛季CBA联赛之浙江
日期:2021-08-20 17:26:1015-16赛季CBA联赛之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役纪念章
日期:2021-10-12 11:33:4515-16赛季CBA联赛之深圳
日期:2021-11-11 14:25:38
6 [报告]
发表于 2021-09-09 11:34 |只看该作者
本帖最后由 a5love3n 于 2021-09-09 11:36 编辑

我在8.3环境下测试你的脚本没有问题,用的是你最开始的脚本
  1. ./add.sh
  2. Changing password for user test.
  3. passwd: all authentication tokens updated successfully.
  4. Added user test.
  5. [root@localhost ~]# cat add.sh
  6. #!/bin/bash

  7.     for i in `awk '{print $1}' myusers.list `

  8.     do

  9.     useradd $i

  10.     grep "\<$i\>" myusers.list | awk '{print $2}' | passwd --stdin $i
  11.     grep "\<$i\>" myusers.list | awk '{print $2"\n"$2}' | smbpasswd -a $i -s
  12.     done
复制代码
根据你的myuserlist文件内容,我删除了 -F":"
  1. cat /etc/redhat-release
  2. CentOS Linux release 8.3.2011
复制代码

你的这个报错,像是文本格式问题

论坛徽章:
6
15-16赛季CBA联赛之浙江
日期:2021-07-14 11:18:4315-16赛季CBA联赛之浙江
日期:2021-08-20 17:26:1015-16赛季CBA联赛之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役纪念章
日期:2021-10-12 11:33:4515-16赛季CBA联赛之深圳
日期:2021-11-11 14:25:38
7 [报告]
发表于 2021-09-09 11:37 |只看该作者
回复 5# weixiaoke

你的脚本内容是不是从别的地方复制过去的

论坛徽章:
0
8 [报告]
发表于 2021-09-11 10:54 |只看该作者
回复 7# a5love3n

在以前的系统中,这个脚本是可以正常运行的,现在用在CENTOS8.3下面就报价了

论坛徽章:
0
9 [报告]
发表于 2021-09-13 15:13 |只看该作者
从报错来看应该是脚本的格式出问题,而不是脚本本身有问题,例如有什么隐藏符号之类的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP