当我在Cygwin中从bash执行.bat脚本时,它是通过什么机制运行的?我知道如果我运行一个.EXE,它就会启动,不管.EXE是来自Cygwin还是来自更传统的环境。我知道当我用#!在一开始,Cygwin提供了它运行的魔力。
但是为什么.bat脚本可以工作呢?Cygwin中有没有一些组件知道什么是Windows .bat脚本以及如何处理它?或者是不可能在Windows下执行一个调用来启动一个不会自动为.bat脚本工作的.EXE文件?
发布于 2012-03-14 02:20:58
正在运行
./test.bat params
from bash似乎等同于
cmd /c test.bat params
发布于 2009-04-24 20:58:43
我相信cygwin中的bash会将bat扩展名视为标记为可执行文件( cygwin的windows约定)。因此,它加载并执行带有相关解释器的文件(cmd.exe,每个操作系统配置),就像它创建一个新的bash实例来运行您的#!脚本(根据posix标准)。
发布于 2013-07-05 04:10:21
如果您想像ShellScript进程一样派生*.cmd文件执行,并将其日志附加到文件中:
cmd /c test.bat > nohup.out &
享受吧!
https://stackoverflow.com/questions/787522
复制相似问题