Что я делаю не так?
Я не вижу причин, по которым фрагмент будет вести себя так.Я подозреваю, что проблема в том, что вы не показали нам ...
Например, какую версию echo
вы используете?Встроенная оболочка?Стандартный в '/ bin'?Какой-нибудь интересный путь поиска?
Вы можете попробовать несколько простых экспериментов, чтобы определить, находится ли проблема на уровне оболочки / команды или в приложении Java;например,
$ echo hi > tmp
$ cat tmp
$ java -classpath ../src test.TestProgram < tmp
$ cat tmp | java -classpath ../src test.TestProgram
и так далее.
Если ни один из этих экспериментов не дает никаких подсказок, опубликуйте реальный исходный код Java небольшой программы, которая демонстрирует вашу проблему.
(Икак справедливо отмечает @trashgod, вы, возможно, «жирно потрогали» шаг сборки и запустили версию программы, которая больше не соответствует вашему исходному коду.)