代码之家  ›  专栏  ›  技术社区  ›  user2427

bash循环意外结束循环,但未显示原因

  •  0
  • user2427  · 技术社区  · 15 年前

    我有一个bash脚本,代码如下:

    echo "EXECUTING TASK 1"
    sort -r scripts/sh/test-list | while read fn; do    
        sh -vx scripts/sh/test-web-task.sh "$fn"
    done
    
    echo "EXECUTING TASK 2"
    sort -r scripts/sh/test-unit-list | while read fn; do   
        sh -vx scripts/sh/test-unit-task.sh "$fn"
    done
    

    在测试Web任务和测试单元任务中,我有一些调用Grails来运行一些测试,然后做一些打包工作。 像这样:

    grails test-app $1
    mv results backup/$1
    

    在scripts/sh/test unit list和scripts/sh/test list文件中,我有一个要运行的测试列表。 像这样:

    Person
    Book
    

    第一个循环在没有运行文件scripts/sh/test列表的所有行的情况下中断,然后它开始运行第二个循环。

    如您所见,我已经将-vx添加到sh中,以查看可能存在的问题。但我找不到我做错了什么。

    我认为脚本/sh/test列表中的某些内容可能正在崩溃,并破坏循环。如果是这样的话,我想知道什么是崩溃,我想让循环不间断地继续运行。

    你能给我一个指针吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   mezzie    15 年前
    sh -vx scripts/sh/test-web-task.sh "$fn" < /dev/null
    

    推荐文章