在Git Bash上执行脚本需要花费很长时间

我当前正在Windows 7 VM的Git Bash上执行脚本。在Mac机器上,相同的脚本会在15-20秒内执行,但是在Windows上运行需要将近1个小时。

该脚本本身包含从XML文件提取数据的包,并且不会调用任何API或任何种类的东西。

我不知道发生了什么,我尝试用以下答案解决它,但无济于事:

我希望有人帮助我诊断或给出一些指示,以帮助我理解问题出在哪里或如何完全解决问题。

编辑: 我无法共享整个脚本,但是通过我在Stackoverflow上问过的先前问题,您可以看到该脚本使用的命令类型。本质上,混合使用了XMLStarlet个命令。

EDIT2: 作为一个高层次的概述,该脚本实际上循环了XML文件的文件夹,然后从每个文件中检索某些数据,然后创建HTML页面并将这些数据粘贴到表中。

这些步骤的代码分解如下:

搜索文件夹中的XML文件并遍历每个文件

for file in "$directory"*
do
    if [[ "$file" == *".xml"* ]]; then
        filePath+=( "$file" )
    fi
done

for ((j=0; j < ${#filePath[@]}; j++)); do

    retrieveData "${filePath[j]}"

done

从有问题的XML文件中检索数据

function retrieveData() {
    filePath=$1

    # Retrieve data from the revelent xml file
    dataRow=$(xml sel -t -v "//xsd:element[@name=\"$data\"]/@type" -n "$filePath")

    outputRow "$dataRow"
}

将数据输出到HTML表

function outputRow() {
    rowValue=$1

    cat >> "$HTMLFILE" << EOF
        <td>
            <div>$rowValue</div>
        </td>
EOF
}

如前所述,用于检索相关数据的实际xml命令可能有所不同,但是,指向我之前的问题的链接具有不同的命令类型。

fwangeling 回答:在Git Bash上执行脚本需要花费很长时间

您的git-bash安装已过期。

执行git --version确认。您是否正在使用2.x之前的版本?

请安装latest version of git-bash,该版本自2019年11月13日起为2.24.0。

有关随着时间的推移性能改进的更多信息,请参见Release Notes for git

本文链接:https://www.f2er.com/3123620.html

大家都在问