diff --git a/tools/pi_control/terminal_entry.sh b/tools/pi_control/terminal_entry.sh index ac36984..91cf0db 100644 --- a/tools/pi_control/terminal_entry.sh +++ b/tools/pi_control/terminal_entry.sh @@ -54,22 +54,23 @@ fi SSH_TARGET="${USER}@${HOST}" if [[ -n "${COMMAND}" ]]; then - REMOTE_CMD="${COMMAND}; exec \$SHELL" + REMOTE_CMD="${COMMAND}; exec \$SHELL -l" REMOTE_CMD="${REMOTE_CMD//\\/\\\\}" REMOTE_CMD="${REMOTE_CMD//\"/\\\"}" if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then - exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -t "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then - exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -t "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" else - exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -t "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" + exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" fi else + REMOTE_CMD="exec \$SHELL -l" if [[ "${AUTH_TYPE}" == "key" && -n "${KEY_PATH}" ]]; then - exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" "${SSH_TARGET}" + exec ssh "${SSH_OPTS[@]}" -i "${KEY_PATH}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" elif [[ "${AUTH_TYPE}" == "pass" && -n "${PASSWORD}" ]]; then - exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" "${SSH_TARGET}" + exec sshpass -p "${PASSWORD}" ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" else - exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" "${SSH_TARGET}" + exec ssh "${SSH_OPTS[@]}" -p "${PORT:-22}" -tt "${SSH_TARGET}" -- sh -lc "${REMOTE_CMD}" fi fi