Chinaunix

标题: while循环未知跳出。 [打印本页]

作者: 狮牛    时间: 2016-04-14 14:17
标题: while循环未知跳出。
本帖最后由 狮牛 于 2016-04-14 15:44 编辑

我刚学习,写一个while循环脚本。预计应该循环2次的,结果循环了一次后第二次就没有了,也未跳出,求哪位大神帮忙看看为什么,循环会自己跳出去。我研究半天没看明白。另外ssh这行注销掉脚本可以正常循环2次。如果加上就会在第一次循环结束后跳出了。

脚本如下:
#!/bin/bash
#Test while
USER=root

grep -v '#' /data/list.txt > /data/list.txt.swp
while read line
do
        SRC=`echo $line|awk '{print $2}'`
        IP=`echo $line|awk '{print $1}'`
        DEST=`echo $line|awk '{print $3}'`
        ssh -l root $IP "ls $DEST"
        #if [ $? -ne "0" ];then
        #       ssh -l root $IP "mkdir $DEST"
        # fi
        scp -r $SRC $USER@$IPDEST
done < /data/list.txt.swp

rm -rf /data/list.txt.swp

运行结果如下:
#!/bin/bash
#Test while
USER=root
+ USER=root

grep -v '#' /data/list.txt > /data/list.txt.swp
+ grep -v '#' /data/list.txt
while read line
do
        SRC=`echo $line|awk '{print $2}'`
        IP=`echo $line|awk '{print $1}'`
        DEST=`echo $line|awk '{print $3}'`
        ssh -l root $IP "ls $DEST"
        #if [ $? -ne "0" ];then
        #       ssh -l root $IP "mkdir $DEST"
        # fi
        echo "scp -r $SRC $USER@$IPDEST"
done < /data/list.txt.swp
+ read line
echo $line|awk '{print $2}'
++ awk '{print $2}'
++ echo 192.168.188.18 /data/sh/www1/11.txt /data/www1
+ SRC=/data/sh/www1/11.txt
echo $line|awk '{print $1}'
++ awk '{print $1}'
++ echo 192.168.188.18 /data/sh/www1/11.txt /data/www1
+ IP=192.168.188.18
echo $line|awk '{print $3}'
++ awk '{print $3}'
++ echo 192.168.188.18 /data/sh/www1/11.txt /data/www1
+ DEST=/data/www1
+ ssh -l root 192.168.188.18 'ls /data/www1'
11.txt
+ echo 'scp -r /data/sh/www1/11.txt root@192.168.188.18:/data/www1'
scp -r /data/sh/www1/11.txt root@192.168.188.18:/data/www1
+ read line

rm -rf /data/list.txt.swp
+ rm -rf /data/list.txt.swp

list.txt内容:
[root@localhost sh]# cat /data/list.txt
#IP                SRC              DEST
192.168.188.18     /data/sh/www1/*    /data/www1   
192.168.188.21     /data/sh/www2/*    /data/www2
作者: 狮牛    时间: 2016-04-14 14:35
本帖最后由 狮牛 于 2016-04-14 14:36 编辑

有表情那行是这样
echo "scp -r $SRC $USER@$IP: $DEST"
作者: 狮牛    时间: 2016-04-14 17:19
大神们,帮帮忙啊。。。

作者: fh21_xuejinlian    时间: 2016-04-14 18:12
ssh登陆的时候不需要输入密码吗
作者: Shell_HAT    时间: 2016-04-14 18:15
http://bbs.chinaunix.net/thread-769040-1-1.html
http://bbs.chinaunix.net/thread-3618732-1-1.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2