Cygwin: Команда працює на консолі, а не на .bat


1

Ця команда працює в консолі 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
Робоча версія має "apache" з невеликим "a"; невдала версія має капітал "А". Імена файлів Unix чутливі до регістру.
AFH

Відповіді:


1

Коли ви запускаєте a .BAT файл з Cygwin, він виконується як пакетний файл, за допомогою інтерпретатора команд Windows ( CMD.EXE"Командний рядок"). Тому

  • Якщо ви хочете запустити командний файл, використовуючи переважно команди командного рядка Windows, використовуйте версію шляху для Windows: C:\Program Files\apache Software Foundation\Tomcat 8.5. Можливо, це нормально, якщо ви використовуєте / замість \, так само, як у звичайному командному рядку Windows. Не турбуйтеся про випадок.
  • Якщо ви хочете запустити скрипт оболонки Unix, не використовуйте .BAT розширення.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.