Cygwin Bash脚本没有丢失任何错误,但也没有工作

时间:2018-05-15 22:35:57

标签: bash cygwin

我正在整理一个简单的脚本,将具有特定命名约定的文件重命名和复制到文件夹。我把脚本全部启动并运行在我编写的linux机器上,但是一旦我切换到Windows 10计算机,我需要运行它,它停止工作。

我正试图将它从Cygwin中运行,每当我运行它时,Cygwin都没有显示任何错误或任何错误,但没有任何反应。不确定下一步该去哪里......

代码如下:

#!/bin/bash

for file in /cygdrive/c/path/to/files/*;
do
if [[ $file = *"Search_Criteria"* ]]; then
mv "$file" "$(echo "$file" | sed -r 's/KDM_//')";
fi
done
for file in /cygdrive/c/path/to/files/*;
do
if [[ $file = *"Search_Criteria"* ]]; then
cp "$file" "/cygdrive/c/File/Destination";
fi
done

关于如何在Cygwin方面实现这一目标的任何建议都将非常感谢!

1 个答案:

答案 0 :(得分:0)

由于扩展在那里无效,因此编写的测试无效。 您可以检查子字符串或只是将测试移动为

#!/bin/bash

for file in /cygdrive/c/path/to/files/*"Search_Criteria"* ;
do
    mv "$file" "$(echo "$file" | sed -r 's/KDM_//')";
fi
done
for file in /cygdrive/c/path/to/files/*"Search_Criteria"* ;
do
    cp "$file" "/cygdrive/c/File/Destination";
fi
done