From 353bd55d6c336f867e084e908343d6a6b8e29ee6 Mon Sep 17 00:00:00 2001 From: totem4 Date: Mon, 25 Oct 2021 21:11:34 +0200 Subject: [PATCH] set remote dir as a temp dir in order to handle multiple sessions --- sshrc.conf | 2 +- sshrc.sh | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/sshrc.conf b/sshrc.conf index eb842e6..8e88fbe 100644 --- a/sshrc.conf +++ b/sshrc.conf @@ -1 +1 @@ -DSTDIR=/tmp/mstagliano_conf.d +DSTPREFIX=mstagliano diff --git a/sshrc.sh b/sshrc.sh index 874b738..8449f31 100755 --- a/sshrc.sh +++ b/sshrc.sh @@ -5,21 +5,20 @@ set -eu CURDIR=$(dirname $(readlink "$0")) CONFHOME="~/.local/share/jssh/conf.d" CONFALLBACK="$CURDIR/conf.d" + [[ -d $CONFHOME ]] && CONFDIR=$CONFHOME || CONFDIR=$CONFALLBACK [[ -r $CONFDIR/bashrc ]] || { echo "Confdir or bashrc missing or lack of permissions!"; exit 1; } -DSTDIR=/tmp/conf.d -[[ -f $CURDIR/sshrc.conf ]] && source $CURDIR/sshrc.conf +DSTPREFIX=jssh -TARGET=$1 +[[ -f $CURDIR/sshrc.conf ]] && source $CURDIR/sshrc.conf arc=$(tar czf - -C $CONFDIR $(find $CONFDIR -type f -printf "%f ")| base64 -w0) [[ $(echo $arc | wc -c) -le 65535 ]] || { echo "Files size too large!"; exit 1; } COMMANDS=" -export JSSHHOME=$'"$DSTDIR"'; -mkdir \$JSSHHOME; +export JSSHHOME=\$(mktemp -d /tmp/$'"${DSTPREFIX}"'.XXXXXXXXXX); echo $'"$arc"' | base64 -di | tar -xzf - -C \$JSSHHOME; trap \"rm -rf \$JSSHHOME; exit\" 0; bash --rcfile \$JSSHHOME/bashrc -i