On 11/27/06, David Korn <dgk at research.att.com> wrote: > > > Does ksh93 have a function to handle variables like files? I'd like to > > output sub process data to a variable which should be updated for each > > further write from the child. foo=$(ls -l) sends all output after the > > child terminates but I'd like to run the child in the background and > > $foo always reflects the whole output up to the moment. > > > > Josh > > No, but you can come somewhat close to what I think you are asking > for using discipline functions. For example, > > function foo.set > { > eval "@" |&
I don't grok. What does the eval "@" do? > } > function foo.get > { > .sh.value=$foo isn't this recursive? $foo calls foo.get which uses $foo which calls foo.get which uses... > while read -t.01 -r -p > do .sh.value+=$REPLY$'\n' > done > } Why don't you use .sh.value="$(cat foo)" here? Josh