]> id.pley.net Git - dotfiles.git/blobdiff - .aliases
Added .ssh directory.
[dotfiles.git] / .aliases
index 163f8424ee2dff04d5ed64e3ed1d30f2ff738179..12b6b6dc1fc36399d68f3520ac2def227ece368d 100755 (executable)
--- a/.aliases
+++ b/.aliases
@@ -64,3 +64,35 @@ function ssh-learn() {
     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 $( grep '^Host[ ][^*]' ~/.ssh/config | cut -c 6- ); do
+    alias "$host"="_ssh_screen $host $@"
+done