Ошибка неверного флага при использовании bash для компиляции Java - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь написать простой скрипт для компиляции моего кода Java. Когда я ставлю

javac Main.java

в моем compile.sh и сделайте

bash compile.sh

Я получаю error: invalid flag: Main.java

Однако, если я просто использую команду javac Main.java, все работает нормально.

Я использую Ubuntu VirtualBox на Win10. Как мне заставить мой скрипт работать?

1 Ответ

2 голосов
/ 09 апреля 2019

Вот проблема, которую вы видите:

$ cat compile.sh
javac Main.java

$ bash compile.sh
javac: invalid flag: Main.java
Usage: javac <options> <source files>
use -help for a list of possible options

Это происходит потому, что в скрипте используются окончания строк в стиле DOS:

$ cat -v compile.sh
javac Main.java^M

Вы можете исправить это, установив в своем редакторе сохранение с помощью разделителей строки Unix или, например, с помощью. tr

$ tr -d '\r' < compile.sh > fixed.sh
(no output)

$ cat -v fixed.sh
javac Main.java

Теперь он работает как положено:

$ bash fixed.sh
(no output)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...