zshrc: Make mkcd() more robust
authorFrank Terbeck <ft@bewatermyfriend.org>
Thu, 29 Mar 2012 08:15:34 +0000 (10:15 +0200)
committerFrank Terbeck <ft@bewatermyfriend.org>
Thu, 29 Mar 2012 08:34:05 +0000 (10:34 +0200)
Hinted at by peth on #zsh.

Signed-off-by: Frank Terbeck <ft@bewatermyfriend.org>
etc/zsh/zshrc

index 87c9bda..f5b943f 100644 (file)
@@ -2349,7 +2349,16 @@ cd() {
 
 #f5# Create Directoy and \kbd{cd} to it
 mkcd() {
-    mkdir -p "$@" && cd "$@"
+    if (( ARGC != 1 )); then
+        printf 'usage: mkcd <new-directory>\n'
+        return 1;
+    fi
+    if [[ ! -d "$1" ]]; then
+        command mkdir -p "$1"
+    else
+        printf '`%s'\'' already exists: cd-ing.\n' "$1"
+    fi
+    builtin cd "$1"
 }
 
 #f5# Create temporary directory and \kbd{cd} to it