zshrc: updating bk()
authorMoviuro <moviuro+grml@gmail.com>
Mon, 15 Dec 2014 09:04:35 +0000 (10:04 +0100)
committerFrank Terbeck <ft@grml.org>
Mon, 15 Dec 2014 21:07:10 +0000 (22:07 +0100)
  * using fully POSIX date on all OSes
  * the former openbsd command becomes the fallback solution

etc/zsh/zshrc

index 94561d3..a97441c 100644 (file)
@@ -3022,19 +3022,18 @@ fi
 #f5# Backup \kbd{file_or_folder {\rm to} file_or_folder\_timestamp}
 bk() {
     emulate -L zsh
+    local current_date=$(date -u "+%Y-%m-%dT%H:%M:%SZ")
     while (( $# > 0 )); do
         if islinux; then
-            cp -a "$1" "$1_$(date --iso-8601=m)"
-        elif isopenbsd; then
-            cp -R "$1" "$1_$(date "+%FT%H:%M")"
+            cp -a "$1" "$1_$current_date"
         elif isfreebsd; then
             if [[ -d "$1" ]] && [[ "$1" == */ ]]; then
                 echo "cowardly refusing to copy $1 's content; see cp(1)" >&2; return 1
             else
-                cp -a "$1" "$1_$(date "+%FT%H:%M")"
+                cp -a "$1" "$1_$current_date"
             fi
         else;
-            echo 'sorry, not yet implemented, send a patch!' >&2
+            cp -pR "$1" "$1_$current_date"
         fi
         shift
     done