trccmd() {
# echo all the commands to travel with rc files, arguments act as additional arguments to tar
local trc_min_dir="$(minify-trc)"
- echo -n "packing trcdir... " >&2
+ echo -n "packing trcdir with '$*'... " >&2
+ [ -n "$1" ] || set -- "--gzip" # default compression is gzip (when no argument is set), can be disabled with "-a" which leads to no compression
local trcvar="$(tar --create --file=- "$@" --directory="$trc_min_dir" --dereference ./ | base64 --wrap=0)" # this writes the compressed contents of $trc_min_dir base64-encoded to $trcvar
rm -rf "$trc_min_dir" # delete the temporal directory generated by minify-trc
echo "to ${#trcvar} bytes... " >&2
- [ ${#trcvar} -lt 65536 ] || { echo "content of trcdir \"$trcdir\" is too big, even after minifying" >&2; return 1; }
+ [ ${#trcvar} -lt 65536 ] || { echo "ERROR: content of trcdir '$trcdir' is too big, even after minifying and compressing with '$*'" >&2; return 1; }
# export $TRAVELRCDIR and create this directory, it could also be created in /tmp
echo '
export TRAVELRCDIR=$HOME/.travelrc.travelled
readonly TRAVELRCDIR
-mkdir --parents $TRAVELRCDIR
-'
+mkdir --parents $TRAVELRCDIR'
# SSH_TTY should still be set to figure out whether this is a ssh session
[ -z "$SSH_TTY" ] || echo "export SSH_TTY=$SSH_TTY"
# decompress the files saved to $trcvar; start a bash with the travelled rc-file; only remove $TRAVELRCDIR if there is no screen or tmux session (which can still use the files); last command is true so that the returncode is always 0