scheme yes_no_query binding
call-with-input-prompt (call/ip)

call-with-input-prompt (alias call/ip) takes two arguments: a function
of one argument, and a string.  The string is displayed on the command
line, and then a string is read from the user (entered on the command
line).  The function given to call/ip is then called with the user input
as its argument.  An example usage is:

(define (tag-selected-artist)
  (call/ip
    (lambda (x) (set-tag (selected-file) "artist" x))
    "Waiting for input [artist]:"))
synchronous shell command

The shell-sync command behaves like the shell command except that
program execution is paused until the command exits.  This means that
side-effects of the shell-sync command can be depended on when it is
used as part of a script