reduce number of ssh-calls on sshs
This commit is contained in:
parent
0ecb4308b3
commit
0bd8b45e55
1 changed files with 23 additions and 17 deletions
40
functions.sh
40
functions.sh
|
@ -432,36 +432,42 @@ EOF
|
||||||
if [ -e "${TMPBASHCONFIG}" ] ; then
|
if [ -e "${TMPBASHCONFIG}" ] ; then
|
||||||
logdebug "create remote bashrc"
|
logdebug "create remote bashrc"
|
||||||
logdebug "SSH_OPTS: $SSH_OPTS"
|
logdebug "SSH_OPTS: $SSH_OPTS"
|
||||||
local REMOTETMPBASHCONFIG=$(ssh -T ${SSH_OPTS} $@ "mktemp -p \${XDG_RUNTIME_DIR-~} -t bashrc.XXXXXXXX --suffix=.conf" | tr -d '[:space:]' )
|
local REMOTETMPCONFIGS=($(ssh -T ${SSH_OPTS} $@ "mktemp -p \${XDG_RUNTIME_DIR-~} -t bashrc.XXXXXXXX --suffix=.conf" | tr -d '[:space:]' ) $(ssh -T ${SSH_OPTS} $@ "mktemp -p \${XDG_RUNTIME_DIR-~} -t vimrc.XXXXXXXX --suffix=.conf" | tr -d '[:space:]' ))
|
||||||
logdebug "REMOTETMPBASHCONFIG: $REMOTETMPBASHCONFIG"
|
echo remote tmp bashrc ${REMOTETMPCONFIGS[0]}
|
||||||
logdebug $(ssh -T ${SSH_OPTS} $@ "stat ${REMOTETMPBASHCONFIG}")
|
echo remote tmp vimrc ${REMOTETMPCONFIGS[1]}
|
||||||
logdebug $(ssh -T ${SSH_OPTS} $@ "hostnamectl")
|
#local REMOTETMPBASHCONFIG=$(ssh -T ${SSH_OPTS} $@ "mktemp -p \${XDG_RUNTIME_DIR-~} -t bashrc.XXXXXXXX --suffix=.conf" | tr -d '[:space:]' )
|
||||||
logdebug "create remote vimrc"
|
#logdebug "REMOTETMPBASHCONFIG: $REMOTETMPBASHCONFIG"
|
||||||
local REMOTETMPVIMCONFIG=$(ssh -T ${SSH_OPTS} $@ "mktemp -p \${XDG_RUNTIME_DIR-~} -t vimrc.XXXXXXXX --suffix=.conf" | tr -d '[:space:]' )
|
# logdebug $(ssh -T ${SSH_OPTS} $@ "stat ${REMOTETMPBASHCONFIG}")
|
||||||
logdebug "REMOTETMPVIMCONFIG: $REMOTETMPVIMCONFIG"
|
# logdebug $(ssh -T ${SSH_OPTS} $@ "hostnamectl")
|
||||||
|
#logdebug "create remote vimrc"
|
||||||
|
#local REMOTETMPVIMCONFIG=$(ssh -T ${SSH_OPTS} $@ "mktemp -p \${XDG_RUNTIME_DIR-~} -t vimrc.XXXXXXXX --suffix=.conf" | tr -d '[:space:]' )
|
||||||
|
#logdebug "REMOTETMPVIMCONFIG: $REMOTETMPVIMCONFIG"
|
||||||
|
|
||||||
# Add additional aliases to bashrc for remote-machine
|
# Add additional aliases to bashrc for remote-machine
|
||||||
cat << EOF >> "${TMPBASHCONFIG}"
|
cat << EOF >> "${TMPBASHCONFIG}"
|
||||||
alias vi='vim -u ${REMOTETMPVIMCONFIG}'
|
alias vi='vim -u ${REMOTETMPCONFIGS[1]}'
|
||||||
alias vim='vim -u ${REMOTETMPVIMCONFIG}'
|
alias vim='vim -u ${REMOTETMPCONFIGS[1]}'
|
||||||
alias vimdiff='vimdiff -u ${REMOTETMPVIMCONFIG}'
|
alias vimdiff='vimdiff -u ${REMOTETMPCONFIGS[1]}'
|
||||||
export LS_OPTIONS="${LS_OPTIONS}"
|
export LS_OPTIONS="${LS_OPTIONS}"
|
||||||
export VIMRC="${REMOTETMPVIMCONFIG}"
|
export VIMRC="${REMOTETMPCONFIGS[1]}"
|
||||||
export BASHRC="${REMOTETMPBASHCONFIG}"
|
export BASHRC="${REMOTETMPCONFIGS[0]}"
|
||||||
title "\$USER@\$HOSTNAME: \$PWD"
|
title "\$USER@\$HOSTNAME: \$PWD"
|
||||||
loginfo "This bash runs with temporary config from \$BASHRC"
|
loginfo "This bash runs with temporary config from \$BASHRC"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
logdebug "create fill remote bashrc"
|
logdebug "create fill remote bashrc"
|
||||||
ssh -T ${SSH_OPTS} $@ "cat > ${REMOTETMPBASHCONFIG}" < "${TMPBASHCONFIG}"
|
#ssh -T ${SSH_OPTS} $@ "cat > ${REMOTETMPBASHCONFIG}" < "${TMPBASHCONFIG}"
|
||||||
logtrace $(ssh -T ${SSH_OPTS} $@ "stat ${REMOTETMPBASHCONFIG}")
|
ssh -T ${SSH_OPTS} $@ "cat > ${REMOTETMPCONFIGS[0]}" < "${TMPBASHCONFIG}"
|
||||||
|
# logtrace $(ssh -T ${SSH_OPTS} $@ "stat ${REMOTETMPBASHCONFIG}")
|
||||||
logdebug "create file remote vimrc"
|
logdebug "create file remote vimrc"
|
||||||
ssh -T ${SSH_OPTS} $@ "cat > ${REMOTETMPVIMCONFIG}" < "${MSC_BASE}/vimrc"
|
#ssh -T ${SSH_OPTS} $@ "cat > ${REMOTETMPVIMCONFIG}" < "${MSC_BASE}/vimrc"
|
||||||
|
ssh -T ${SSH_OPTS} $@ "cat > ${REMOTETMPCONFIGS[1]}" < "${MSC_BASE}/vimrc"
|
||||||
local RCMD="/bin/bash --noprofile --norc -c "
|
local RCMD="/bin/bash --noprofile --norc -c "
|
||||||
RCMD="
|
RCMD="
|
||||||
trap \"rm -f ${REMOTETMPBASHCONFIG} ${REMOTETMPVIMCONFIG}\" EXIT " ;
|
trap \"rm -f ${REMOTETMPCONFIGS[0]} ${REMOTETMPCONFIGS[1]}\" EXIT " ;
|
||||||
logdebug "run remote shell with temporary config"
|
logdebug "run remote shell with temporary config"
|
||||||
ssh -t ${SSH_OPTS} $@ "$RCMD; SSHS=true bash -c \"function bash () { /bin/bash --rcfile ${REMOTETMPBASHCONFIG} -i ; } ; export -f bash; exec bash --rcfile ${REMOTETMPBASHCONFIG}\""
|
#ssh -t ${SSH_OPTS} $@ "$RCMD; SSHS=true bash -c \"function bash () { /bin/bash --rcfile ${REMOTETMPBASHCONFIG} -i ; } ; export -f bash; exec bash --rcfile ${REMOTETMPBASHCONFIG}\""
|
||||||
|
ssh -t ${SSH_OPTS} $@ "$RCMD; SSHS=true bash -c \"function bash () { /bin/bash --rcfile ${REMOTETMPCONFIGS[0]} -i ; } ; export -f bash; exec bash --rcfile ${REMOTETMPCONFIGS[0]}\""
|
||||||
rm "${TMPBASHCONFIG}"
|
rm "${TMPBASHCONFIG}"
|
||||||
else
|
else
|
||||||
logwarn "${TMPBASHCONFIG} does not exist. Using »ssh -t $@«"
|
logwarn "${TMPBASHCONFIG} does not exist. Using »ssh -t $@«"
|
||||||
|
|
Loading…
Reference in a new issue