免费注册 查看新帖 |

Chinaunix

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

这条shell,能不能帮我解释一下? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-09 21:35 |只看该作者 |倒序浏览
# cat autochg.sh
for i in `cat $1`
do
  USRNME=${i%:*}
  PASSWD=${i#*:}
  (sleep 3;echo cluster;sleep 2;echo 'cluster';sleep 2;echo "su";sleep 1;echo "solaris"; \
  sleep 2;echo "passwd $USRNME";sleep 1;echo $PASSWD;sleep 1;echo $PASSWD; \
  sleep 1;echo "exit";sleep 2) | telnet localhost 1>/dev/null
done

说是能批量的修改密码??

论坛徽章:
0
2 [报告]
发表于 2009-04-09 21:52 |只看该作者
这样也可以,不错不错
你把for里面的代码拿出来运行下就知道怎么回事了

[ 本帖最后由 justlooks 于 2009-4-9 21:53 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-04-09 21:54 |只看该作者

回复 #2 justlooks 的帖子

大哥,你就不能解释一下?

论坛徽章:
0
4 [报告]
发表于 2009-04-09 21:58 |只看该作者
(sleep 3;echo cluster;sleep 2;echo 'cluster';sleep 2;echo "su";sleep 1;echo "solaris"; \
  sleep 2;echo "passwd $USRNME";sleep 1;echo $PASSWD;sleep 1;echo $PASSWD; \
  sleep 1;echo "exit";sleep 2)
这个不就是你平时telnet干的事情么?还哪里不明白

论坛徽章:
0
5 [报告]
发表于 2009-04-09 22:01 |只看该作者

回复 #4 justlooks 的帖子

telnet干的事多了
比较愚钝啊
说是能批量修改密码?
但是看不出来啊

论坛徽章:
0
6 [报告]
发表于 2009-04-09 22:05 |只看该作者
上面代码里有哪个命令不明白的?

论坛徽章:
0
7 [报告]
发表于 2009-04-09 22:08 |只看该作者
我给你看看另一个shell
# cat user.passwd
usr1:abc1
usr2:abc2
usr3:abc3

两个结合了,能批量修改密码的
# ./autochg.sh ./user.passwd

最好是整段都解释一下了,虽然知道命令是干什么的!!!

论坛徽章:
0
8 [报告]
发表于 2009-04-09 22:15 |只看该作者
for i in `cat $1` #for 是循环,i 是用来记录 $1这个文件里的一行字符,第次一行,直到读完;
USRNME=${i%:*}
  PASSWD=${i#*:} #这两句分别取得了i中的USRNME,和passwd
(sleep 3;echo cluster;sleep 2;echo 'cluster';sleep 2;echo "su";sleep 1;echo "solaris"; \
  sleep 2;echo "passwd $USRNME";sleep 1;echo $PASSWD;sleep 1;echo $PASSWD; \
  sleep 1;echo "exit";sleep 2) | telnet localhost 1>/dev/null #由两部分组成,(..)| telnet ,(...)里的命令的结果传递给管道"|"后面的telnet作参数

论坛徽章:
0
9 [报告]
发表于 2009-04-09 22:19 |只看该作者

回复 #8 haimming 的帖子

for的用法我知道
USRNME=${i%:*}
  PASSWD=${i#*:} #这两句分别取得了i中的USRNME,和passwd----这个我刚知道
()我知道要把他传给telnet
sleep 3;echo cluster;sleep 2;echo 'cluster';sleep 2;echo "su";sleep 1;echo "solaris
是用户名吗?还是?

论坛徽章:
0
10 [报告]
发表于 2009-04-09 22:24 |只看该作者
原帖由 caixicheng 于 2009-4-9 22:08 发表
我给你看看另一个shell
# cat user.passwd
usr1:abc1
usr2:abc2
usr3:abc3

两个结合了,能批量修改密码的
# ./autochg.sh ./user.passwd

最好是整段都解释一下了,虽然知道命令是干什么的!!!


把后面的 1> /dev/null去掉,运行下脚本观察下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP