nakuro Posted June 10, 2009 at 07:48 PM Report #271322 Posted June 10, 2009 at 07:48 PM Boas Tenho uma duvida que não sei como resolver. Eu tenho vários perl scripts que fazem a instalação de programas que servem de requisitos a uma aplicação que utilizo. Estes perl scripts basicamente fazem um apt-get install... Eu quero executar estes scripts através do java, e até consigo chama-los através da função: Process proc = Runtime.getRuntime().exec(comando); O problema são as permissões, pois o script necessita que eu introduza a password para aceder em modo root. O que já tentei foi executar o meu programa java em modo root (su -) e este por sua vez chama os perl scripts, mas mesmo assim não funciona. Alguem sabe uma forma de contornar este problema? ou então conseguir que o perl script entre em modo root ou que não fique a espera que a password seja introduzida? exemplo do perl script: #!/usr/bin/perl -w $retorno=system "aptitude install libiodbc2 libiodbc2-dev"; if($retorno==0){ print ("libiodbc2 and libiodbc2-dev ----->done\n"); } else{ print "false"; } cumprimentos
pedrotuga Posted June 10, 2009 at 08:21 PM Report #271329 Posted June 10, 2009 at 08:21 PM passa-lhes a password pela tua aplicação. Não tens outra solução.
nakuro Posted June 10, 2009 at 10:14 PM Author Report #271367 Posted June 10, 2009 at 10:14 PM e como faço isso? já tentei atraves de um ficheiro, mas não funciona, isto é, se fizer algo do genero no perl script: $retorno=system "aptitude install libiodbc2 libiodbc2-dev<resposta.txt"; e no ficheiro resposta tenho a password. mas não funciona, isto apenas funciona pa respostas de yes ou no. Ou seja, quando aparece aquelas questões se temos a certeza se queremos instalar ou não.
bruno1234 Posted June 11, 2009 at 12:46 AM Report #271403 Posted June 11, 2009 at 12:46 AM em perl recebes um array como parametro, o @ARGV se executares: executavel_programa password a primeira posição do array argv é a password. Tens aqui um exemplo: http://www.devdaily.com/perl/edu/qanda/plqa00001.shtml Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
nakuro Posted June 11, 2009 at 12:02 PM Author Report #271446 Posted June 11, 2009 at 12:02 PM em perl recebes um array como parametro, o @ARGV se executares: executavel_programa password a primeira posição do array argv é a password. Tens aqui um exemplo: http://www.devdaily.com/perl/edu/qanda/plqa00001.shtml Mas como faço para no perl Script inserir essa password no comando?, de modo a que a password seja passada para o comando (neste caso o sudo apt-get...) e não seja pedida. Não sei se me estão a perceber, mas se chamar o perl script como está,ele pede-me a password de root, e não tou a ver como é que posso passar directamente a password pela linha de comandos para o comando sem que esta seja pedida quando executar o script. Cumprimentos
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now