<div dir="ltr"><div>(Sorry about the lack of indentation in previous post)</div><div><br></div><div><br></div><div>(define (get-system-output command)</div><div> (let ((logfilename "/tmp/logtemp"))</div><div> (system (string-append command " > " logfilename))</div><div> (let* ((ret "")</div><div> (fd (open-file logfilename "r"))</div><div> (line (read-line fd)))</div><div> (while (not (eof-object? line))</div><div> (set! ret (string-append ret line))</div><div> (set! line (read-line fd)))</div><div> (close fd)</div><div> (system (string-append "rm " logfilename))</div><div> ret)))</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 25, 2015 at 4:46 PM, Kjetil Matheussen <span dir="ltr"><<a href="mailto:k.s.matheussen@gmail.com" target="_blank">k.s.matheussen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>There might be a better solution, but this is the function I've been using to do this:</div><div><br></div><div><table><tbody><tr><td>(<span>define</span> (<span>get-system-output</span><span> command</span>)</td>
</tr>
<tr>
</tr></tbody></table><table><tbody><tr></tr><tr>
<td> (<span>let</span> ((logfilename <span><span>"</span>/tmp/logtemp<span>"</span></span>))</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td> (system (string-append command <span><span>"</span> > <span>"</span></span> logfilename))</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td> (<span>let*</span> ((ret <span><span>"</span><span>"</span></span>)</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td>         (fd (open-file logfilename <span><span>"</span>r<span>"</span></span>))</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td>         (line (read-line fd)))</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td> (while (<span>not</span> (<span>eof-object?</span> line))</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td>         (<span>set!</span> ret (string-append ret line))</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td>         (<span>set!</span> line (read-line fd)))</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td> (close fd)</td>
</tr>
<tr>
</tr><tr></tr><tr>
<td> (system (string-append <span><span>"</span>rm <span>"</span></span> logfilename))</td>
</tr>
<tr>
</tr></tbody></table><table><tbody><tr>
<td> ret)))<br><br>(this is for guile though, not s7, but you get the idea)<br><br></td></tr></tbody></table></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Wed, Nov 25, 2015 at 4:38 PM, JV <span dir="ltr"><<a href="mailto:billbose@gmail.com" target="_blank">billbose@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div><div>system prints the output of the command.<br></div>I cannot save the output with:<br><br></div>(define sv (system ("ls"))<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 25, 2015 at 8:02 AM, <span dir="ltr"><<a href="mailto:bil@ccrma.stanford.edu" target="_blank">bil@ccrma.stanford.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">system is normally included in s7 in Linux -- try<br>
(help system) or (system "ls -la s7.c" #t). If your<br>
version of s7 was built with the compiler flag<br>
WITH_SYSTEM_EXTRAS set to 0, you can still get at the<br>
c library's system function via libc.scm, but<br>
hopefully that isn't necessary.<br>
<br>
<br><span><font color="#888888">
</font></span></blockquote></div><span><font color="#888888"><br><br clear="all"><br>-- <br><div>Joseph Vijay</div>
</font></span></div>
<br></div></div>_______________________________________________<br>
Cmdist mailing list<br>
<a href="mailto:Cmdist@ccrma.stanford.edu" target="_blank">Cmdist@ccrma.stanford.edu</a><br>
<a href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" rel="noreferrer" target="_blank">https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div><br></div>