Como executar um Shell ou CMD dentro da minha aplicaçao e interagir com ele?

7 respostas
java
rodrigofsantos

Senhores estou perguntado pois nao tenho nem ideia de como seria para fazer algo assim, mas vamos eu tenho uma aplicação em shell que roda em linux e eu preciso criar um pequeno framework para executar somente alguns comando e gravar todas as saida mas nao tenho idea de como fazer isso ! Basicamente vou fazer um tela em javafx e no meio preciso abrir um shell ou o CMD e na lateral vou ter somente dois botoes que ao ser clicado vai ativar o shell e começar a executar os comandos !!!

alguém tem algum material de estudo ?

7 Respostas

Lucas_Camara

https://www.mkyong.com/java/how-to-execute-shell-command-from-java/

rodrigofsantos

poderia me dar uma ajuda a mais por favor, eu pretendo ter uma tela que ao ser aberta ja carregue um shell ou seja um terminal e ao lado eu vou ter alguns botoes com funçoes especificas mas que podem ser acessados a qualquer momento e apos ser acessado ele enviara o seu comando para o terminal !!! seria melhor usar runtime.exec, scanner tem alguma sugestao por favor ???

Lucas_Camara

Como são comandos pré-definidos, vc pode manter eles hardcoded mesmo. Agora como tem que ser esse terminal que vai aparecer no seu sistema? Ele realmente tem que ser interativo? Se for, tem esse projeto que achei no github: https://github.com/javaterminal/TerminalFX, veja se te atende.

rodrigofsantos

o usuario nao vai digitar comando diretamente nele vou ter varios botes com funçoes pre definidas neles !!!

Lucas_Camara

Então vc apenas precisa imprimir a saída dos comandos que o usuário executar através dos botões?

rodrigofsantos

sim mas cada comando vai gerar um returno e pretendo gravar tudo em um log mas no geral e isso agora tem um botão que e inicial e os outros poderão ser acionados aleatoriamente !!!

Lucas_Camara

No link que passei tem um exemplo de como pegar a saída de um comando comando. Tente implementar um exemplo. Qualquer dúvida, soh falar.

Criado 4 de novembro de 2019
Ultima resposta 5 de nov. de 2019
Respostas 7
Participantes 2