#!/bin/sh for script in /.singularity.d/env/*.sh; do if [ -f "$script" ]; then . "$script" fi done # See https://github.com/sylabs/singularity/issues/2721, # if the runscript execute bash by default, it can give # a prompt identical to the host one which may confuse users # so we use PROMPT_COMMAND environment variable which is # used by bash to execute a command before command prompt # in order to set PS1 correctly before the first prompt if test -z "${PROMPT_COMMAND:-}"; then export PROMPT_COMMAND="PS1=\"${PS1}\"; unset PROMPT_COMMAND" else export PROMPT_COMMAND="${PROMPT_COMMAND:-}; PROMPT_COMMAND=\"\${PROMPT_COMMAND%%; PROMPT_COMMAND=*}\"; PS1=\"${PS1}\"" fi if test -n "${SINGULARITY_APPNAME:-}"; then if test -x "/scif/apps/${SINGULARITY_APPNAME:-}/scif/runscript"; then exec "/scif/apps/${SINGULARITY_APPNAME:-}/scif/runscript" "$@" else echo "No runscript for contained app: ${SINGULARITY_APPNAME:-}" exit 1 fi elif test -x "/.singularity.d/runscript"; then exec "/.singularity.d/runscript" "$@" else echo "No runscript found in container, executing /bin/sh" exec /bin/sh "$@" fi