免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4086 | 回复: 6

remsh疑问?  关闭 [复制链接]

论坛徽章:
0
发表于 2002-07-02 20:22 |显示全部楼层
我while读文件,最后用remsh进行远端操作,操作实际完成,但执行完就退出循环?实际文件有多条记录。见下:
while read  filename
do
echo $SrcFilePath/$filename
rcp   root@$IPSrcFilePath/$filename $DesFilePath/$filename
echo $?
remsh  $IP -l root rm $SrcFilePath/$filename
echo $?
done < 0701.FL
显示echo $? 均未0,但执行一行就退出。
如果吧remsh  $IP -l root rm $SrcFilePath/$filename注掉就没问题了。
自己式了式如果在后面加一句其他的句子,也可以
while read  filename
do
echo $SrcFilePath/$filename
rcp   root@$IPSrcFilePath/$filename $DesFilePath/$filename
echo $?
remsh  $IP -l root rm $SrcFilePath/$filename
echo $?
filehead=&quot;aaa&quot;
done < 0701.FL
循环执行正常。我晕了:)

论坛徽章:
0
发表于 2002-07-02 20:30 |显示全部楼层

remsh疑问?

对不起,上面说错了,最后加一句,还是退出循环???????为什么阿

论坛徽章:
0
发表于 2002-07-03 08:33 |显示全部楼层

remsh疑问?

[这个贴子最后由valentine在 2002/07/03 08:43am 编辑]

It's not a bug of remsh.
you can change your script in this way:

#add this line
exec 9<&amp;0 0<0701.FL
#here are the lines from your old script
while read filename
...
done #notice no <
exec 0<&amp;9

This does work. I have tested it .

you can also use read -r instead of read
like this:
while read -r filename
do
...
done <0701.FL

It also work.

论坛徽章:
0
发表于 2002-07-03 12:04 |显示全部楼层

remsh疑问?

我按照后一种做法
while read -r filename
do
echo $filename
rcp root@$IPSrcFilePath/$filename $DesFilePath/$filename
echo &quot;bbbb&quot;$?
if [ $? -eq 0 ]
then
#echo $SrcFilePath/$filename
remsh  $IP -l root rm $SrcFilePath/$filename
echo &quot;aaaa&quot;$?
fi
done <0701.FL
还是一次成功退出

前一种
exec 9<&amp;0 0<0701.FL
while read  filename
do
echo $filename
rcp root@$IPSrcFilePath/$filename $DesFilePath/$filename
echo &quot;bbbb&quot;$?
if [ $? -eq 0 ]
then
#echo $SrcFilePath/$filename
remsh  $IP -l root rm $SrcFilePath/$filename
echo &quot;aaaa&quot;$?
fi
done #notice no <
exec 0<&amp;9
还是不行啊,不明白

论坛徽章:
0
发表于 2002-07-03 14:56 |显示全部楼层

remsh疑问?

change this line:
remsh  $IP -l root rm $SrcFilePath/$filename
to :
remsh  $IP -l root rm $SrcFilePath/$filename </dev/null

then test it.

论坛徽章:
0
发表于 2002-07-03 15:40 |显示全部楼层

remsh疑问?

谢谢啦,可以了,不过能不能解释一下阿,为什么这样就可以了?

论坛徽章:
0
发表于 2002-07-03 15:44 |显示全部楼层

remsh疑问?

因为,rsh,rcmd,remsh之类运行时拷贝当前输入作为自己的输入,把自己的标准输出转到当前的标准输出.</dev/null便可以避过这一点了.

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP