>
> shellOut := Smalltalk system: 'sleep 5 && ls -l
/etc && sleep 10'.
> Transcript showCr: shellOut printString.
>
> That worked a treat.
>
> Is there anything one should be aware of when choosing
between the two
> ways of calling shell commands? The system: call above
appeals since it
> is synchronous and provides the shell output, but just
wondering if
> there is a situation when it is better to use the
"Filestream popen:
> dir" command.
>
Then found that Smalltalk system: returns an integer rather
than the
shell output.
So here is what I wanted to do:
" Part 1: shut down running VMWare VMs"
shellCmd := '/usr/bin/vmrun list'.
pipe := FileStream popen: shellCmd dir: FileStream read.
pipe linesDo: [: vmName |
shellCmd2 := '/usr/bin/vmware-cmd %1 stop' bindWith:
vmName.
pipe2 := FileStream popen: shellCmd2 dir: FileStream
read. ]
Hence the need for a synchronous call so that the script
waits until
each machine is shut down.
Thanks
Stephen
_______________________________________________
help-smalltalk mailing list
help-smalltalk gnu.org
http://lists.gnu.org/mailman/listinfo/help-smalltalk
|