hello David and thank you for your help and your detailed explanation.

as I said I used

p :=(PipeableOSProcess command: 'ls') . p output.

and it just returns an empty string.

Are there other ways to return the output of the terminal ?

On Fri, Nov 6, 2015 at 1:57 AM David T. Lewis <le...@mail.msen.com> wrote:

> On Thu, Nov 05, 2015 at 09:50:29PM +0000, Dimitris Chloupis wrote:
> > So I try to understand how OSProcess work exactly to find why filetree
> > seems not able to use it and generating the error I already reported
> > earlier.
> >
> > Using something simple like
> >
> > OSProcess command:'pwd'
> >
> > works great , I have the terminal open and I can see the correct return
> > value of the command in my terminal but for some reason I can find no
> such
> > info when I inspect the above example. So how exactly OSProcess returns
> the
> > output of the terminal ? Is there an instance variable of some sort ?
> > Because I tried to inspect it deeply and I found nothing . Can you help
> me
> > understand how OSProcess work ? Because If I do understand it then I can
> > find what the problem is .
>
> Hi Dimitris,
>
> The OSProcess and CommandShell packages provide a variety of ways to
> create and interact with operating system processes. In the case of
> "OSProcess command: 'pwd'" it is starting a new unix shell (/bin/sh, which
> on most systems is the Bash shell). Once it starts the shell, it asks
> the shell to evaluate the 'pwd' command. In this case, you would see the
> output of that 'pwd' command appearing in the terminal window for your
> Pharo VM process.
>
> If you inspect the result of this, you should see an instance of
> ExternalUnixOSProcess. This is a proxy that represents the operating
> system process that was used to run /bin/sh. It should look something like
> this:
>
> an ExternalUnixOSProcess with pid 10703 on /bin/sh (complete, normal
> termination with status 0)
>
> The exitStatus instance variable of the ExternaUnixProcess should be 0 in
> this example, which means only that the shell ran successfully (It does not
> tell you exit status of the 'pwd' command in this case, although there are
> other ways to do that).
>
> There are other classes, especially PipeableOSProcess and CommandShell,
> that support higher level control of OS processes, with direct connection
> of the stdin/stdout/stderr streams to your Smalltalk image. I expect that
> filetree would be using these higher level abstractions.
>
> I don't know if this helps with your problem but maybe it gives you some
> ideas.
>
> Dave
>
>
>

Reply via email to