On 10/10/23 02:49, Panisuan Chasinga wrote:
Hi list, I want to read a string output using `ice-9/popen/open-input-pipe`
but somehow always got an empty string. Here is my test code:
(use-modules (ice-9 popen))
(use-modules (ice-9 textual-ports))
(define (test-read-port)
(let* ((port (open-input-pipe "ls"))
(str (get-string-all p)))
(close-port p)
str))
I was able to read from a file with `open-input-file`, but not
`open-input-pipe` with any command. Running `(system "ls")` seemed to work
just fine.
Hello Panisuan,
perhaps this code can help you as well:
https://notabug.org/ZelphirKaltstahl/guile-examples/src/22bf7be3ae46a7b520c1482ab80985bfbdae6eb6/input-output/stdout-stderr.scm
It handles also error output.
Best regards,
Zelphir
--
repositories: https://notabug.org/ZelphirKaltstahl