You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.6 KiB
Bash
69 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
# vim:ts=4:sts=4:sw=4:et
|
|
#
|
|
# Author: Hari Sekhon
|
|
# Date: circa 2006 - 2012 (forked from .bashrc)
|
|
#
|
|
# https://github.com/harisekhon/bash-tools
|
|
#
|
|
# License: see accompanying Hari Sekhon LICENSE file
|
|
#
|
|
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
|
|
#
|
|
# https://www.linkedin.com/in/harisekhon
|
|
#
|
|
|
|
# ============================================================================ #
|
|
# S c r e e n
|
|
# ============================================================================ #
|
|
|
|
sc(){
|
|
checkprog screen || return 1
|
|
isscreen && { echo "I am already in a screen, aborting"; return 1; }
|
|
screen -wipe
|
|
local session=main
|
|
local detached_screens
|
|
detached_screens="$(screen -ls | grep Detached)"
|
|
if [ -n "$detached_screens" ] &&
|
|
[ "$(wc -l <<< "$detached_screens" | awk '{print $1}')" = 1 ]; then
|
|
session="$(awk '{print $1;exit}' <<< "$detached_screens")"
|
|
fi
|
|
screen -aARRD -S "$session" "$@"
|
|
}
|
|
|
|
screencmd(){
|
|
screen -X "$@"
|
|
}
|
|
|
|
screensleep(){
|
|
screen "$@"
|
|
sleep 0.1
|
|
}
|
|
|
|
alias scnum="screen -X number"
|
|
|
|
screenbuf(){
|
|
local tmp
|
|
tmp="$(mktemp /tmp/screen-exchange.XXXXXX)"
|
|
cat > "$tmp"
|
|
screen -X readbuf "$tmp"
|
|
rm "$tmp";
|
|
}
|
|
alias sb=screenbuf
|
|
|
|
sh_server_real(){
|
|
for x in "$@"; do
|
|
echo "sh server real $x | i $x|Weight|Total"
|
|
done |
|
|
tee /dev/stderr |
|
|
screenbuf
|
|
echo
|
|
}
|
|
alias fsr=sh_server_real
|
|
alias ssr=sh_server_real
|
|
|
|
# this idea's is a bust so far...
|
|
#function c(){
|
|
# screen -t "$@" bash -c ". ~/.bashrc && eval $@"
|
|
#}
|