diff --git a/pressure-vessel-wrap b/pressure-vessel-wrap index 0b531a29188980e54c4b13cbdf2c115279c7e9e1..f3a8eeb0f23e9a448f9ccadd537d44a6de92e1f7 100755 --- a/pressure-vessel-wrap +++ b/pressure-vessel-wrap @@ -252,6 +252,16 @@ if [ -n "$verbose" ]; then env | sed -e 's/^/\t/' >&2 fi +if [ -n "$interactive" ]; then + exec </dev/tty + exec >/dev/tty + exec 2>/dev/tty + echo "$me: Starting interactive shell (original command is in \"\$@\")">&2 + wrapped_command=(bash -i -s "$@") +else + wrapped_command=("$@") +fi + if [ -z "$BWRAP" ] || ! "$BWRAP" --bind / / true; then echo "$me: cannot find bwrap or it doesn't work, falling back to executing '$*' directly" >&2 @@ -269,7 +279,7 @@ if [ -z "$BWRAP" ] || ! "$BWRAP" --bind / / true; then unset LD_LIBRARY_PATH fi - exec "$@" + exec "${wrapped_command[@]}" fi if "$BWRAP" --help | grep -F '[--]' 2>/dev/null; then @@ -294,16 +304,6 @@ else esac fi -if [ -n "$interactive" ]; then - exec </dev/tty - exec >/dev/tty - exec 2>/dev/tty - echo "$me: Starting interactive shell (original command is in \"\$@\")">&2 - wrapped_command=(bash -i -s "$@") -else - wrapped_command=("$@") -fi - if [ -z "$fake_home" ]; then if [ -n "${SteamAppId:-}" ]; then fake_home="$HOME/.var/app/com.steampowered.App$SteamAppId"