Cygwin:命令在控制台上运行,而不是在 .bat 中

Cygwin:命令在控制台上运行,而不是在 .bat 中

此命令在 Cygwin 控制台中有效:

me@WDX5CG625Q ~
$ cd "/cygdrive/c/Program Files/apache Software Foundation/Tomcat 8.5"

mw@WDX5CG62Q /cygdrive/c/Program Files/apache Software Foundation/Tomcat 8.5
$

但不在.bat 文件中:

tom.bat:

cd "/cygdrive/c/Program Files/Apache Software Foundation/Tomcat 8.5"

输出:

me@WDX5CG625Q ~
$ ./tom.bat

C:\cygwin64\home\me>cd "/cygdrive/c/Program Files/Apache Software Foundation/Tomcat 8.5"
The system cannot find the path specified.

me@WDX5CG625Q ~
$

还尝试过:

  • #!/bin/bash
  • 不带引号
  • 不带引号和空格转义
  • 带引号和空格转义

总是收到“无法找到”的消息。

答案1

当你.BAT从 Cygwin 运行文件时,它会以批处理文件的形式运行,使用 Windows 命令解释器(CMD.EXE又称“命令提示符”)。因此

  • 如果您想要运行批处理文件,主要使用 Windows CLI 命令,请使用 Windows 版本的路径名: 。如果您使用而不是,C:\Program Files\apache Software Foundation\Tomcat 8.5可能也可以,就像在普通的 Windows 命令提示符中一样。不用担心大小写。/\
  • 如果您想运行 Unix shell 脚本,请不要使用该.BAT扩展。

相关内容