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.
