2017-02-16 5 views
0

Я пытаюсь создать для создания сценария, который автоматически изменит рабочий каталог на мой Java-код и затем скомпилирует код. Я могу изменить прямо на свой путь, но я не могу понять, как вызвать java-компилятор в «filename», принимая «имя файла» в качестве аргумента непосредственно из терминала.Java Compiler Script [Mac]

#!/bin/bash 
    FILE = “$1” 
    open -a Terminal /Users/Jarvis/Desktop/Codes/Java/CS\ 49J/ 
    javac “$FILE” 
+0

Почему вам нужно открыть терминал приложение? –

+0

Потому что после компиляции я хочу иметь возможность запускать скомпилированный файл напрямую. –

+0

Ваш скрипт открывает все новое оконное окно и ничего не делает. Вы понимаете, как работают скрипты bash и подпроцессы? –

ответ

0

Удалите пробелы в своем назначении FILE. Кроме того, как упоминает @ cricket_007, вам не нужно открывать приложение терминала, просто меняйте каталог.

#!/bin/bash 
FILE="$1" 
cd /Users/Jarvis/Desktop/Codes/Java/CS\ 49J/ 
javac "$FILE" 

В качестве альтернативы (я в привычку использовать фигурные скобки вокруг переменных):

#!/bin/bash 
FILE="$1" 
WORKING_DIR="/Users/Jarvis/Desktop/Codes/Java/CS\ 49J/" 
javac "${WORKING_DIR}${FILE}" 
+0

Я считаю, что после завершения компиляции он выйдет из терминала. Что делать, если я хочу оставаться в этом же сразу после автоматического компиляции, позволяя мне выполнить его? –

+0

Скрипт выполняется в под-оболочке, поэтому вы правы, вы не останетесь в каталоге, где находится файл. – Matt

+0

Возможно, вы могли бы расширить скрипт для запуска 'java -jar program.jar' после компиляции? – Matt