On Aug 25, 5:45 pm, "[EMAIL PROTECTED]"
<[EMAIL PROTECTED]> wrote:
> Here's one I wrote probably needs revisited
>
> (defn doCmd
> "do any command"
> ([& params]
> (let [cmd (new java.util.ArrayList)]
> (doseq atom params
> (let [#^String prms (. atom split " ")]
> (doseq p prms
> (. cmd add p))))
> (let [proc (new java.lang.ProcessBuilder cmd)
> isr (new java.io.InputStreamReader
> (.. proc start
> getInputStream))
> sb (new StringBuilder)]
> (with-open br (new
> java.io.BufferedReader isr)
> (loop [c (. br (read))]
> (if (neg? c)
> (str sb)
> (do
> (. sb (append
> (char c)))
> (recur (. br
> (read)))))))))))
>
> On Aug 25, 8:38 am, "Michael Reid" <[EMAIL PROTECTED]> wrote:
>
> > Hi Parth,
>
> > On 8/25/08, Parth Malwankar <[EMAIL PROTECTED]> wrote:
>
> > > I want to run a shell command through Clojure
> > > so I tried the following which doesn't work:
>
> > By "doesn't work" do you mean that you don't see any output from the
> > processes?
>
> > First thing to understand is that processes created in this manner do
> > not get a terminal or console, as documented in the java.lang.Process
> > class:
>
> > http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Process.html
>
> > Instead, the I/O streams are wrapped w/ Java I/O stream objects. In
> > this case of 'vim' this may quite possibly prevent any useful
> > interaction with the the process. In the case of 'ls' the key might be
> > to simply grab the output stream of the process
> > (Process.getOutputStream) and dump the output to System.out or
> > wherever else is appropriate for your needs.
>
> > Can't test this right now, so this might be way off base.
>
> > --
> > /mike.
Thanks everyone for your inputs. I understand this much better now.
Parth
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---