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
+}