bin / bash嵌套循环不起作用

时间:2018-02-26 10:14:29

标签: linux bash shell command-line

我目前在一家托管公司做实习生。他们让我写一个bin / bash脚本来帮助自动化一个过程来检查用户的域和.pointers。并使用" whois"进行验证如果域/指针在我们的服务器上,则命令。

我是bin / bash脚本的新手,但有人告诉我应该检查嵌套循环。因此,为了测试我的脚本,我制作了类似于服务器上的路径。 /usr/local/directadmin/data/users/#USER#/domains.listusers/#USER#/domains/#DOMAIN NAME OF USER#.pointers

#part 1 
for i in $(cat /home/MrC/Desktop/Users)  #<the list of users i need to check)
do
    if [ -f "/usr/local/directadmin/data/users/$i/domainlist.txt" ]
    then
        echo "/usr/local/directadmin/data/users/$i" >> /home/MrC/Desktop/output.tx$
        cat "/usr/local/directadmin/data/users/$i/domainlist.txt" >> /home/carlos/Des$
    fi

    #part 2 
    for s in $(cat /home/mrC/Desktop/output.txt)
    do
        if  [ -f "/usr/local/directadmin/data/users/$i/domains/$s.pointers" ]
        then
            echo "/usr/local/directadmin/data/users/$i" >> /home/MrC/Desktop/pointers.$
            cat "usr/local/directadmin/data/users/$i/domains/$s.pointers" >> /home/MrC$
        fi
    done

done

因此第1部分的作用是

下面的output.txt
    /usr/local/directadmin/data/users/testuser
    lolla.nl
    blaat2.nl
    blaat3.nl
    google2.nl
    /usr/local/directadmin/data/users/testusers
    blaat.nl
    google.com
    test.nl
    pietje.nl

但我似乎无法工作(没有指针文件)。我对脚本第二部分的目标是读取输出(域名)并将其放入@/$i/domains/$s.pointers

我是论坛上的新人,我希望我能以适当的方式提出问题。如果有人可以给我提示/提示我应该看哪个方向,将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

For
   Do
     if
      then
for
   do
    COMMAND A
    COMMAND B
    COMMAND C

   done
   fi
done

答案 1 :(得分:0)

while read -r i; do #stuff; done < /home/MrC/Desktop/Users(调整IFS或使用-d read选项指定分隔符。                      - David C. Rankin