60 lines
1.3 KiB
Bash
60 lines
1.3 KiB
Bash
# Utility functions
|
|
|
|
function copylastcmd() {
|
|
echo -n $(fc -ln -1) | wl-copy
|
|
}
|
|
|
|
function getkernelpkg() {
|
|
if [[ ${OS_ID} == "arch" ]]; then
|
|
pacman -Qqo /usr/lib/modules/$(uname -r)/vmlinuz
|
|
else
|
|
echo "Unsupported OS" >&2
|
|
fi
|
|
}
|
|
|
|
if [[ $(hostnamectl chassis) == "container" ]]; then
|
|
DEFAULT_WINDOW_NAME="Container Connection: [ $os_icon $hostname Console ]"
|
|
elif [[ -z "${SSH_CONNECTION+x}" ]]; then
|
|
DEFAULT_WINDOW_NAME="$os_icon $hostname Console"
|
|
else
|
|
DEFAULT_WINDOW_NAME="Remote Connection: [ $os_icon $hostname Console ]"
|
|
fi
|
|
|
|
function _rename_window() {
|
|
echo -ne "\033]0;$@\007"
|
|
}
|
|
|
|
function _reset_window_name() {
|
|
_rename_window "$DEFAULT_WINDOW_NAME"
|
|
}
|
|
|
|
function rename_window() {
|
|
_rename_window "$@"
|
|
DEFAULT_WINDOW_NAME="$@"
|
|
}
|
|
|
|
_rename_window "$DEFAULT_WINDOW_NAME"
|
|
|
|
function ssh-clean() {
|
|
# Clean up ssh connection sockets
|
|
for i in $(find ~/.ssh/cm/ -type s); do
|
|
fname=$(basename $i)
|
|
conn=$(echo $fname | cut -d- -f2-)
|
|
user=$(echo $conn | cut -d@ -f1)
|
|
host=$(echo $conn | cut -d@ -f2 | cut -d: -f1)
|
|
echo "Closing connection to $user@$host"
|
|
ssh -O exit -S $i -q _ 2>/dev/null
|
|
done
|
|
}
|
|
|
|
function lsssh() {
|
|
# List active ssh connections
|
|
for i in $(find ~/.ssh/cm/ -type s); do
|
|
fname=$(basename $i)
|
|
conn=$(echo $fname | cut -d- -f2-)
|
|
user=$(echo $conn | cut -d@ -f1)
|
|
host=$(echo $conn | cut -d@ -f2 | cut -d: -f1)
|
|
echo "$user@$host"
|
|
done
|
|
}
|