add function reachable
This commit is contained in:
parent
d9490bf38c
commit
8f11f24ba9
1 changed files with 16 additions and 5 deletions
21
functions.sh
21
functions.sh
|
@ -265,6 +265,7 @@ sshs() {
|
|||
local TMPBASHCONFIG=$(mktemp -p ${XDG_RUNTIME_DIR} -t bashrc.XXXXXXXX --suffix=.conf)
|
||||
local FILELIST=( ~/.aliases "${MYSHELLCONFIG_BASE}/functions.sh" "${MYSHELLCONFIG_BASE}/aliases" "${MYSHELLCONFIG_BASE}/PS1" "${MYSHELLCONFIG_BASE}/bash_completion.d/*" "${MYSHELLCONFIG_BASE}/myshell_load_fortmpconfig" )
|
||||
|
||||
local SSH_OPTS="-o VisualHostKey=no -o ControlMaster=auto -o ControlPersist=15s -o ControlPath=~/.ssh/ssh-%r@%h:%p"
|
||||
# Read /etc/bashrc or /etc/bash.bashrc (depending on distribution) and /etc/profile.d/*.sh first
|
||||
cat << EOF >> "${TMPBASHCONFIG}"
|
||||
[ -e /etc/bashrc ] && BASHRC=/etc/bashrc
|
||||
|
@ -293,8 +294,8 @@ EOF
|
|||
if [ $# -ge 1 ]; then
|
||||
if [ -e "${TMPBASHCONFIG}" ] ; then
|
||||
local RCMD="/bin/bash --noprofile --norc -c "
|
||||
local REMOTETMPBASHCONFIG=$(ssh -T -o VisualHostKey=no $@ "mktemp -p \${XDG_RUNTIME_DIR} -t bashrc.XXXXXXXX --suffix=.conf"| tr -d '[:space:]' )
|
||||
local REMOTETMPVIMCONFIG=$(ssh -T -o VisualHostKey=no $@ "mktemp -p \${XDG_RUNTIME_DIR} -t vimrc.XXXXXXXX --suffix=.conf"| tr -d '[:space:]')
|
||||
local REMOTETMPBASHCONFIG=$(ssh -T ${SSH_OPTS} $@ "mktemp -p \${XDG_RUNTIME_DIR} -t bashrc.XXXXXXXX --suffix=.conf"| tr -d '[:space:]' )
|
||||
local REMOTETMPVIMCONFIG=$(ssh -T ${SSH_OPTS} $@ "mktemp -p \${XDG_RUNTIME_DIR} -t vimrc.XXXXXXXX --suffix=.conf"| tr -d '[:space:]')
|
||||
|
||||
# Add additional aliases to bashrc for remote-machine
|
||||
cat << EOF >> "${TMPBASHCONFIG}"
|
||||
|
@ -308,11 +309,11 @@ title "\$USER@\$HOSTNAME: \$PWD"
|
|||
echo "This bash runs with temporary config from \$BASHRC"
|
||||
EOF
|
||||
|
||||
ssh -T -o VisualHostKey=no $@ "cat > ${REMOTETMPBASHCONFIG}" < "${TMPBASHCONFIG}"
|
||||
ssh -T -o VisualHostKey=no $@ "cat > ${REMOTETMPVIMCONFIG}" < "${MYSHELLCONFIG_BASE}/vimrc"
|
||||
ssh -T ${SSH_OPTS} $@ "cat > ${REMOTETMPBASHCONFIG}" < "${TMPBASHCONFIG}"
|
||||
ssh -T ${SSH_OPTS} $@ "cat > ${REMOTETMPVIMCONFIG}" < "${MYSHELLCONFIG_BASE}/vimrc"
|
||||
RCMD="
|
||||
trap \"rm -f ${REMOTETMPBASHCONFIG} ${REMOTETMPVIMCONFIG}\" EXIT " ;
|
||||
ssh -t $@ "$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}\""
|
||||
rm "${TMPBASHCONFIG}"
|
||||
else
|
||||
echo "${TMPBASHCONFIG} does not exist. Use »ssh $@«" >&2
|
||||
|
@ -574,4 +575,14 @@ gnome-shell-extensions-make-actual-permanent-systemwide() {
|
|||
sudo sed -i "/\[org\/gnome\/shell\]/a${line}${EXTENSIONS}" "${file}"
|
||||
sudo dconf update
|
||||
}
|
||||
|
||||
reachable () {
|
||||
local SERVER=$1
|
||||
local PORT=${2:-22}
|
||||
if nc -z $SERVER $PORT 2>/dev/null; then
|
||||
echo "${SERVER}:${PORT} is reachable"
|
||||
else
|
||||
echo "${SERVER}:${PORT} is not reachable"
|
||||
fi
|
||||
}
|
||||
#EOF
|
||||
|
|
Loading…
Reference in a new issue