#!/bin/bash
# The following aliases vary depending on the host OS:
-if [[ "x$(uname -s)" == "xLinux" ]]; then
- alias ls='ls -F --color=auto'
-elif [[ "x$(uname -s)" == "xDarwin" ]]; then
- alias ls='ls -FG'
-fi
+case "$(uname -s)" in
+ Linux )
+ alias ls='ls -F --color=auto'
+ ;;
+ Darwin )
+ alias ls='ls -FG'
+ ;;
+esac
alias m='pine'
alias beep='echo \a'
ssh-keyscan -t rsa $1 >> ~/.ssh/known_hosts
}
+function _ssh_complete() {
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ opts=$( grep -o '^[^, ]\+' ~/.ssh/known_hosts )
+ COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+ return 0
+}
+complete -F _ssh_complete ssh
+
+function _ssh_screen () {
+ DISCONNECT=""
+ RECONNECT="-R"
+ HOST=$1
+ while [ "$2" != "" ]; do
+ case $2 in
+ -d | --disconnect )
+ DISCONNECT="-D"
+ ;;
+ * )
+ echo "Usage: $HOST [-d | --discconnect]"
+ return 1
+ ;;
+ esac
+ shift
+ done
+
+ ssh -t $HOST screen $DISCONNECT $RECONNECT
+}
+
+for host in ssh_hosts=$( grep '^Host[ ][^*]' ~/.ssh/config | cut -c 6- ); do
+ alias "$host"="_ssh_screen $host $@"
+done