0

我有一个看起来像这样的批处理脚本

@ echo off c:/cygwin/bin/bash -li each_sec_extract.bash c:/iperfprocess/sprint/file1.txt > c:/iperfprocess/sprintbashed/file1.txt each_sec_extract.bash c:/iperfprocess/sprint/file2.txt > c:/iperfprocess/sprintbashed/file2.txt

当我按原样运行时,会弹出 CYGWIN bash 终端,我可以在屏幕上观察生成我想要的输出的脚本,但是,当我转到文件所在的目录时(c:/iperfprocess/sprintbashed/ ),我被一个空的文本文件打招呼。当我从 CMD 行手动输入指令时,我收到相同的结果。但是,当我直接从 CYGWIN 运行指令时,它可以完美运行。最让我沮丧的部分,这个脚本曾经运行良好,然后我开始收到 SED: permission denied 错误,这迫使我在管理模式下运行 bash.exe。

关于可能发生的事情或解决方案可能是什么的任何想法?预先感谢您提供的任何和所有帮助。

4

2 回答 2

0

这有什么不同吗?

@echo off
c:/cygwin/bin/bash -li each_sec_extract.bash c:/iperfprocess/sprint/file1.txt > c:/iperfprocess/sprintbashed/file1.txt 
c:/cygwin/bin/bash -li each_sec_extract.bash c:/iperfprocess/sprint/file2.txt > c:/iperfprocess/sprintbashed/file2.txt
于 2013-04-28T09:43:48.403 回答
0

SED: Permission error是导致空输出文件的根本原因。以管理权限运行 bash 只是一种解决方法,并不能解决实际问题。由于某种原因,sed.exe变得腐败。该解决方案包括从 UnxUtils 下载http://sourceforge.net/projects/unxutils/?source=dlp并替换sed.exe找到的,CYGWIN/bin/然后将其替换为 UnxUtils zip 文件中的那个。

我在这些步骤之后运行了我的脚本,并且一切都像问题之前一样完美运行。

于 2013-04-30T01:55:31.953 回答