Hi utz and Brandon, > (capture ,(string-append "docker inspect " str))) doesn't work because of the same reason that you expressed. You would get "quasiquote not found" from the shell.
As a workaround, execute procedure might be used straightly. (define (inspect str) (execute (list (string-append "docker inspect " str)) 'verbose: #t )) Cheers, Am Fr., 10. März 2023 um 19:22 Uhr schrieb <ipc...@arcor.de>: > Hi Brandon, > > 'capture' and its friends 'run' and 'run*' are macros that treat their > arguments differently from what you would expect from a regular procedure. > > Looking at the documentation of '(run COMMAND ...)', you will find that > > > COMMAND is also implicitly quasiquoted so subexpressions may be > computed at run-time by unquoting them. > > which means that COMMAND is passed to the shell as-is, without being > evaluated. So the "not found" error is actually returned by the shell, > since it does not know what 'string-append' is. > > In order to evaluate a quasi-quoted expression (or parts of it), you > must unquote it (or the parts in question). > This should work: > > (capture ,(string-append "docker inspect " str))) > > Hope that helps. > > Best wishes, > -utz > >