Windows Cygwin:直接在dos批处理文件中运行bash脚本不会';行不通

Windows Cygwin:直接在dos批处理文件中运行bash脚本不会';行不通,windows,batch-file,cygwin,Windows,Batch File,Cygwin,我已经在网上搜索过了,但仍然没有找到答案。 如果这听起来像是一声懒洋洋的呼救声,我向你道歉——我真的是束手无策了 我的bash脚本位于: /cygdrive/k/Linux Scripts/Scripts/filter.sh 我已将Cygwin.bat复制到filter.bat,并将其更改如下: @echo off L: chdir L:\Cygwin\bin bash --login "/cygdrive/k/Linux Scripts/Scripts/filter.sh amc.txt bm

我已经在网上搜索过了,但仍然没有找到答案。 如果这听起来像是一声懒洋洋的呼救声,我向你道歉——我真的是束手无策了

我的bash脚本位于:
/cygdrive/k/Linux Scripts/Scripts/filter.sh

我已将
Cygwin.bat
复制到
filter.bat
,并将其更改如下:

@echo off
L:
chdir L:\Cygwin\bin
bash --login "/cygdrive/k/Linux Scripts/Scripts/filter.sh amc.txt bmo.txt"
当我在Windows资源管理器中双击filter.bat运行
。该脚本正常,因为它从Cygwin控制台中的命令行运行


是否有办法调试此问题?

尝试从现有的命令提示符窗口运行批处理文件,以便查看bash可能发送的任何错误消息。我猜它与“/cygdrive/k/Linux Scripts/Scripts/filter.sh amc.txt bmo.txt”有关——就它而言,这是一个参数,而不是三个。所以我会把它改成

bash --login "/cygdrive/k/Linux Scripts/Scripts/filter.sh" amc.txt bmo.txt

两个想法:终端可能正在关闭,因为它执行到完成时还不错。是否有一个类似于“暂停”的命令,您可以在末尾添加它来等待按键?第二,文件名中的空格可能会导致问题;尝试在
/cygdrive/k/Linux Scripts/Scripts/filter.sh
文件名周围添加单引号。@Sarnold。该脚本通常需要30秒才能完成,并生成另一个文件。在这种情况下,它没有任何作用。我试过了。还是没有区别。还尝试了“bash--login-i…”中的-i选项。我才意识到我的剧本有错。我用反斜杠跳过了路径名中的空格。当我删除它,并按照你们的建议使用单引号或双引号时,它就起作用了。谢谢杰出的请借此机会了解复制和粘贴您实际尝试的内容,而不是重新键入内容的重要性。谢谢