Cygwin: O comando funciona no console, não em um .bat

1

Este comando funciona no console do 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
$

Mas não em um arquivo .bat:

tom.bat:

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

saída:

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 ~
$

Também tentei:

  • com um #!/bin/bash
  • Sem aspas
  • Sem aspas e espaços que escaparam
  • Com aspas e espaços com escape

Sempre receba a mensagem "não foi possível encontrar".

    
por Mark Athas 14.06.2018 / 18:05

1 resposta

1

Quando você executa um arquivo .BAT do Cygwin, ele é executado como um arquivo em lote, usando o interpretador de comandos do Windows ( CMD.EXE , a.k.a “Prompt de comando”). Então

  • Se você deseja executar um arquivo em lote, usando principalmente comandos do Windows CLI, use a versão do Windows do nome do caminho: C:\Program Files\apache Software Foundation\Tomcat 8.5 . É provável que você use / em vez de \ assim como é em um prompt de comando comum do Windows. Não se preocupe com o caso.
  • Se você deseja executar um script de shell Unix, não use a extensão .BAT .
por 14.06.2018 / 20:07