Obrigado *Jonas* , mato a pau
 testei no SBCL funcionou numa boa  no clisp só tive que trocar
"run-shell-program"
por "run-shell-command".

*Stephen* obrigado pela doc já estou lendo...

problema resolvido :)


Em 6 de abril de 2011 01:17, Jonas Oliveira Rodrigues
<[email protected]>escreveu:

> Olá!
>
> dando uma googlada inferi que está usando Clisp. Bom, primeiro vai a
> solulão em SBCL, que é a distribuição que eu uso.
>
> > (run-program "/bin/ps" '("aux") :output *standard-output*)
>
> para imprimir no terminal ou
>
> > (with-output-to-string (s)
>       (run-program "/bin/ps" '("aux") :output s))
>
> para salvar o valor numa string.
>
> Não tenho Clisp instalado, mas lendo a documentação, vi que
> run-shell-command "imprime no terminal" (default), retorna um objeto do tipo
> "input stream" ou nada, dependendo se o valor de :output é :terminal,
> :stream ou nil, respectivamente.
>
> No seu caso, a saída do comando é imprimida no terminal. O que é salvo em
> *string* é o valor de retorno de "ps aux".
>
> Uma possível solução seria:
>
> > (defun stream->string (stream)
>       (with-output-to-string (s)
>         (loop for line = (read-line stream nil nil)
>             while line do (write-line line s))))
>
> > (setf *string* (stream->string (run-shell-program "ps aux" :output
> :stream))
>
> []'s
>
>
> 2011/4/6 Cooler_ <[email protected]>
>
>> peço ajuda ao pessoal de modo sanar meu problema
>> estou tentando pegar uma saída de um comando e atribuir em uma
>> variável
>>
>> veja que estou fazendo:
>>
>> (setq *string* (run-shell-command "ps aux") )
>> (format t "~s" *string*)
>>
>> retorno;
>>
>> 0
>> NIL
>>
>> estou precisando guardar o resultado de "ps aux" numa string ou
>> vector.
>>
>> se alguém poder ajudar agradeço
>>
>> Cheers
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Lisp-br" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/lisp-br?hl=en.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Lisp-br" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/lisp-br?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Lisp-br" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/lisp-br?hl=en.

Responder a