From e95153cbd48546aec30d69e0fc7d663dd42511e5 Mon Sep 17 00:00:00 2001 From: cstogmuller <50493180+cstogmuller@users.noreply.github.com> Date: Thu, 9 May 2024 16:19:44 +0200 Subject: [PATCH 1/2] Prevent syntax errors --- bash_sessions | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bash_sessions b/bash_sessions index 4f23ba3..574a84e 100755 --- a/bash_sessions +++ b/bash_sessions @@ -156,7 +156,7 @@ if [[ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_changed" || -f "${BASH_S while read line; do unset $line; done < "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_deleted" - export PROMPT_COMMAND="${PROMPT_COMMAND};__bs_saveenv" + export PROMPT_COMMAND="${PROMPT_COMMAND:+;}__bs_saveenv" fi ' > "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/bashrc" @@ -342,7 +342,7 @@ S (){ elif [ "${1}" == "pwd" ]; then if [ "${2}" == "on" ]; then if ! [ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/pwd" ]; then - export PROMPT_COMMAND="${PROMPT_COMMAND};__bs_savepwd" + export PROMPT_COMMAND="${PROMPT_COMMAND:+;}__bs_savepwd" fi elif [ "${2}" == "off" ]; then if [ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/pwd" ]; then @@ -356,7 +356,7 @@ S (){ elif [ "${1}" == "env" ]; then if [ "${2}" == "on" ]; then if ! [[ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_changed" && -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_deleted" ]]; then - export PROMPT_COMMAND="${PROMPT_COMMAND};__bs_saveenv" + export PROMPT_COMMAND="${PROMPT_COMMAND:+;}__bs_saveenv" fi elif [ "${2}" == "off" ]; then if [ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_changed" ]; then From ec86d4f2bf8d6c7d14a6b79a46b8417d6f70f5e3 Mon Sep 17 00:00:00 2001 From: cstogmuller <50493180+cstogmuller@users.noreply.github.com> Date: Mon, 20 May 2024 14:28:42 +0200 Subject: [PATCH 2/2] Prevent syntax error when PROMPT_COMMAND not empty Having the PROMPT_COMMAND variable already set led to the script setting the variable to ;__save... which resulted in unexpected token ; syntax error --- bash_sessions | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bash_sessions b/bash_sessions index 574a84e..650ce7b 100755 --- a/bash_sessions +++ b/bash_sessions @@ -145,7 +145,7 @@ fi # switch to working directory if [ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/pwd" ]; then cd "$(cat "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/pwd")" - export PROMPT_COMMAND="${PROMPT_COMMAND:+;}__bs_savepwd" + export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }__bs_savepwd" fi # load environment @@ -156,7 +156,7 @@ if [[ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_changed" || -f "${BASH_S while read line; do unset $line; done < "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_deleted" - export PROMPT_COMMAND="${PROMPT_COMMAND:+;}__bs_saveenv" + export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }__bs_saveenv" fi ' > "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/bashrc" @@ -342,12 +342,12 @@ S (){ elif [ "${1}" == "pwd" ]; then if [ "${2}" == "on" ]; then if ! [ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/pwd" ]; then - export PROMPT_COMMAND="${PROMPT_COMMAND:+;}__bs_savepwd" + export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }__bs_savepwd" fi elif [ "${2}" == "off" ]; then if [ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/pwd" ]; then rm "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/pwd" - export PROMPT_COMMAND="${PROMPT_COMMAND/;__bs_savepwd/}" + export PROMPT_COMMAND="${PROMPT_COMMAND/; __bs_savepwd/}" fi else echo "bash_sessions: invalid argument \"${2}\"" @@ -356,7 +356,7 @@ S (){ elif [ "${1}" == "env" ]; then if [ "${2}" == "on" ]; then if ! [[ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_changed" && -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_deleted" ]]; then - export PROMPT_COMMAND="${PROMPT_COMMAND:+;}__bs_saveenv" + export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }__bs_saveenv" fi elif [ "${2}" == "off" ]; then if [ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_changed" ]; then @@ -365,7 +365,7 @@ S (){ if [ -f "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_deleted" ]; then rm "${BASH_SESSIONS_DIR}/${BASH_SESSION_NAME}/env_deleted" fi - export PROMPT_COMMAND="${PROMPT_COMMAND/;__bs_saveenv/}" + export PROMPT_COMMAND="${PROMPT_COMMAND/; __bs_saveenv/}" else echo "bash_sessions: invalid argument \"${2}\"" fi