Mac OS X Terminal - как мне «очистить | java foo»? - PullRequest
0 голосов
/ 26 января 2012

Поэтому я использую терминал и выдаю команду

clear | java email11

И я получаю это безумное выполнение половины написанного мной кода

"Введите имя файла ввода [default: fileContainedEmails.txt]: введите имя выходного файла [default:]: "

, затем ошибка:

Enter input filename [default: fileContainingEmails.txt]: Enter output filename [default: 
]: Exception in thread "main" java.util.NoSuchElementException: No line found
    at java.util.Scanner.nextLine(Scanner.java:1516)
    at email11.main(email11.java:39)

все вместе, как:

myMachine:mydir me$ clear | java email11
Enter input filename [default: fileContainingEmails.txt]: Enter output filename [default: 
]: Exception in thread "main" java.util.NoSuchElementException: No line found
    at java.util.Scanner.nextLine(Scanner.java:1516)
    at email11.main(email11.java:39)

и термаинал возвращается к:

myMachine:mydir me$ 

Итак, мой вопрос: как мне успешно передать эту команду?

Ответы [ 2 ]

1 голос
/ 26 января 2012

Попробуйте

$ clear | xxd

, что дает вам что-то вроде

0000000: 1b5b 481b 5b32 4a                        .[H.[2J

Это входные данные для вашей программы email11.Вероятно, не ваше намерение.Просто выполните:

$ clear; java email11

Это просто запускает две команды, одну за другой, как если бы вы вводили их в две отдельные строки.

Вероятно, вам следует прочитать документацию по командеоболочка, которую вы используете.Оболочкой по умолчанию в OSX является bash;Вы можете см. руководство здесь .

1 голос
/ 26 января 2012

Я думаю, что вы хотели сделать

clear || java email11
...