#!/usr/bin/env bash set -eu CONFDIR=/home/totem4/Apps/my_script/sshrc/conf.d [[ -r $CONFDIR/bashrc ]] || { echo "Confdir or bashrc missing or lack of permissions!"; exit 1; } DSTDIR=/tmp/conf.d TARGET=$1 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=" mkdir $'"$DSTDIR"'; echo $'"$arc"' | base64 -di | tar -xzf - -C $'"$DSTDIR"'; trap \"rm -rf /tmp/conf.d; exit\" 0; bash --rcfile /tmp/conf.d/bashrc -i " sshrc() { ssh -t $TARGET $COMMANDS } sshrc $@