And I believe this works as asked. Below I execute the same “load” three times under guile, under bash: first two w/o “2>/dev/null”, and the third time with “2>/dev/null” . For the fourth time, I use “2>/dev/null -s ,update” to process as script (and skip the banner). mwette$ guile GNU Guile 2.0.11 Copyright (C) 1995-2014 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (load ",update") ;;; note: source file /Users/mwette/repo/sv/nyacc.git/module/nyacc/lang/c99/cpp.scm ;;; newer than compiled /Users/mwette/.cache/guile/ccache/2.0-LE-8-2.0/Users/mwette/repo/sv/nyacc.git/module/nyacc/lang/c99/cpp.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /Users/mwette/repo/sv/nyacc.git/module/nyacc/lang/c99/cpp.scm ;;; compiled /Users/mwette/.cache/guile/ccache/2.0-LE-8-2.0/Users/mwette/repo/sv/nyacc.git/module/nyacc/lang/c99/cpp.scm.go $1 = 0 scheme@(guile-user)> ^D mwette$ guile GNU Guile 2.0.11 Copyright (C) 1995-2014 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (load ",update") ;;; note: source file /Users/mwette/repo/sv/nyacc.git/module/nyacc/lang/c99/cpp.scm ;;; newer than compiled /Users/mwette/.cache/guile/ccache/2.0-LE-8-2.0/Users/mwette/repo/sv/nyacc.git/module/nyacc/lang/c99/cpp.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /Users/mwette/repo/sv/nyacc.git/module/nyacc/lang/c99/cpp.scm ;;; compiled /Users/mwette/.cache/guile/ccache/2.0-LE-8-2.0/Users/mwette/repo/sv/nyacc.git/module/nyacc/lang/c99/cpp.scm.go $1 = 0 scheme@(guile-user)> ^D mwette$ guile 2>/dev/null GNU Guile 2.0.11 Copyright (C) 1995-2014 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (load ",update") $1 = 0 scheme@(guile-user)> ^D mwette$ guile 2>/dev/null -s ,update mwette$