]> 105106.c2e0p.group Git - dotfiles.git/blobdiff - zsh_aliases
Fixed ssh-forget function to deal with possible space delimited entries.
[dotfiles.git] / zsh_aliases
index 80f9c856ed2e2455d37302b7064e04591b8fd22d..4338eefc23cd7086b3c5f7109f9271416e008f95 100644 (file)
@@ -51,16 +51,37 @@ function viw () { vi $(which $1); }
 function toss () { mv -f $@ ~/.trashcan; }
 function xcopy () { tar cvf - -C $1 $1/* | tar xvf - -C $2; }
 function checkdns () { ping $( grep nameserver /etc/resolv.conf | awk '{print $2}' | head -1); }
+function has () { 
+    which $1 &> /dev/null
+    if [[ $? -eq 0 ]]; then
+        echo 'yes'
+        return 0
+    else
+        echo 'no'
+        return 1
+    fi
+}
 
-if [[ $(/usr/bin/which -s pidof) -eq 0 ]]; then
+if [[ $( has pidof ) == 'no'  ]]; then
     function pidof () { ps -e -o pid,comm | grep "$1" | awk '{print $1}'; }
 fi
 
 function ssh-forget() {
-    sed -i "" "/^$1,/d" ~/.ssh/known_hosts
+    sed -i "" "/^$1[, ]/d" ~/.ssh/known_hosts
 }
 
 function ssh-learn() {
-    sed -i "" "/^$1,/d" ~/.ssh/known_hosts
+    sed -i "" "/^$1[, ]/d" ~/.ssh/known_hosts
     ssh-keyscan -t rsa $1 >> ~/.ssh/known_hosts
 }
+
+function canonicalize() {
+    local relpath=$( dirname $1 )
+    if [[ ! -d "$relpath" ]]; then
+        echo "$0: no such file or directory: $1"
+        return 1
+    fi
+
+    echo $(cd $relpath; pwd -P)/$(basename $1)
+    return 0
+}