Я ранее задавал один и тот же вопрос, но без ответа, и нашел некоторые другие вопросы, подобные этой проблеме here и here, но опять же без соответствующих ответов. Может кто-нибудь, пожалуйста, помогите мне с этим. Я пытаюсь открыть оболочку из Java и взаимодействовать с ней (написать команды и прочитать вывод оболочки). Команды будут заданы пользователем, как изменение каталога, компиляция программы на языке C и т. Д. Список команд не является фиксированным.открытие оболочки и взаимодействие с использованием Java
Я также пробовал и использовал метод/bin/bash -c и следующее.
Process p = new ProcessBuilder("xterm").start();
Process p = new ProcessBuilder("/bin/bash").start();
Спасибо, и я надеюсь, что проблема ясна.
Если ваша Java программа будет «директор» для оболочки выполняется, или он предназначен для запуска оболочки и обеспечивают пользователю возможность взаимодействовать с ним ? – user3159253
Я хочу запустить оболочку с некоторым перенаправленным каталогом (Java изменит каталог оболочки с помощью команды cd). После запуска я хочу, чтобы пользователь мог взаимодействовать с ним. – sol
Если вы хотите запустить интерактивную оболочку, вам действительно нужно запустить виртуальный терминал, просто оболочки недостаточно. Оболочка только обрабатывает команды, запускает процессы и связывает их вместе, но это не то, что отображает вывод в ящике – Mzzl