Olá pessoal,
Como acesso uma pasta no windows remotamente utilizando o Linux ? (Via código java, lógico).
Tentei usar linha de comando como:
Runtime.getRunTime().exec("mount //192.1.1.194/djar /usr/painel/compartilha_djar -o username=adriano");
Porém o método .exec() só executa uma instrução… instruções concatenadas não funcionam… Como faria nesse caso ?
Valeu
Pergunta imbecil número um: esse comando funciona em uma linha de comando (terminal) do Linux? Se não funcionar, não vai funcionar no Java.
Pergunta imbecil número dois: se funcionar, ele precisa de um usuário root, pelo visto. Se você não é root, talvez precise um “sudo”.
[quote=entanglement]Pergunta imbecil número um: esse comando funciona em uma linha de comando (terminal) do Linux? Se não funcionar, não vai funcionar no Java.
Pergunta imbecil número dois: se funcionar, ele precisa de um usuário root, pelo visto. Se você não é root, talvez precise um “sudo”. [/quote]
Funciona sim na linha de comando do Linux. Porém qualquer comando multiplo que vc passe para o .exec() o metodo não reconhece. Por exemplo o “find |grep teste”
Por isso da minha pergunta… preciso de outro meio de acessar os arquivos no servidor sem ser pelo metodo .exec().
Ora, quem interpreta os múltiplos comandos não é o runtime.exec e sim o shell. Por exemplo, digite isto em uma linha de comando:
/bin/bash -c ‘find . -name *.java | grep Main’
em vez de simplesmente
find . -name *.java | grep Main
Se isso funcionar, então pode passar isso para Runtime.exec.
Você faria algo como:
......exec (new String[] { "/bin/bash", "-c", "find -name \\*.java | grep Main" } );
[quote=entanglement]Pergunta imbecil número um: esse comando funciona em uma linha de comando (terminal) do Linux? Se não funcionar, não vai funcionar no Java.
Pergunta imbecil número dois: se funcionar, ele precisa de um usuário root, pelo visto. Se você não é root, talvez precise um “sudo”. [/quote]
De fato, não tinha visto isto aqui:
http://linux.die.net/man/8/mount.cifs