免费注册 查看新帖 |

Chinaunix

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

脚本问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-15 19:36 |只看该作者 |倒序浏览
  1. #!/bin/bash

  2. name=$(cat users.list)

  3. for name in $name
  4. do
  5.        
  6. if [ -n "$name" ]
  7.                
  8. then

  9. useradd -m $name
  10.                
  11. echo
  12.                
  13. echo $name | passwd --stdin "$name"
  14.                
  15. echo
  16.                
  17. echo "User $username's password changed!"
  18.                
  19. chage -d 0 $name

  20.        
  21. else
  22.                
  23. echo
  24.                
  25. echo "The username is null!"
  26.        
  27. fi

  28. done
复制代码
我根据书上的教程,写了这样的脚本来进行批量添加用户,这个脚本能够达到目的了,但是我发现了一个问题!就是当users.list这个文件为空的时候,却不会输出The username is null!这句!求高手指点一下!!

论坛徽章:
0
2 [报告]
发表于 2012-03-15 20:38 |只看该作者
for不会执行

论坛徽章:
0
3 [报告]
发表于 2012-03-15 20:53 |只看该作者
回复 2# mpstat


……是不是说嵌在for里面的else就不会执行了呢?……   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2012-03-15 21:17 |只看该作者
回复 3# qq510422801


你在do下面加一行:
  1. echo I am in for loop
复制代码

论坛徽章:
0
5 [报告]
发表于 2012-03-15 21:18 |只看该作者
围观看看各位怎样解决问题

论坛徽章:
0
6 [报告]
发表于 2012-03-15 21:33 |只看该作者
回复 4# Shell_HAT


……我加上去了,但是好似没作用啊!{:3_201:} ……   

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
7 [报告]
发表于 2012-03-15 21:45 |只看该作者
空的话,就不会进for,当然也不会执行if了

论坛徽章:
0
8 [报告]
发表于 2012-03-15 21:48 |只看该作者
回复 7# winway1988


    ……那我应该怎么去修改呢?求指导啊!……

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
9 [报告]
发表于 2012-03-15 21:53 |只看该作者
回复 8# qq510422801


    在for外面判断是否为空吧。
可以判断name是否为空,也可以直接判断文件是否为空
  1. [winway@winway test]$ [ -z "$a" ] && echo "null"      
  2. null
  3. [winway@winway test]$ [ -s urfile ] || echo "null"
  4. null
复制代码

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
10 [报告]
发表于 2012-03-15 22:30 |只看该作者
回复 6# qq510422801


就是为了说明for循环有没有执行而已
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP