Disable backslash escaping in echo
authorJacek Konieczny <jajcus@jajcus.net>
Thu, 24 Oct 2013 15:52:53 +0000 (17:52 +0200)
committerJacek Konieczny <jajcus@jajcus.net>
Thu, 24 Oct 2013 15:52:53 +0000 (17:52 +0200)
In shells where echo backslash escaping is enabled by default
the EFI paths (backslash-delimited) get badly scrambled.

efi-boot-update

index ec420f7..b031d67 100755 (executable)
@@ -19,18 +19,18 @@ usage () {
 }
 
 msg () {
-    echo "efi-boot-update: $*" >&2
+    echo -E "efi-boot-update: $*" >&2
 }
 
 verbose () {
     if is_yes "$VERBOSE" ; then 
-        echo "efi-boot-update: $*" >&2
+        echo -E "efi-boot-update: $*" >&2
     fi
 }
 
 verbose_cmd () {
     if is_yes "$VERBOSE" ; then
-        echo "+$*" >&2
+        echo -E "+$*" >&2
     fi
     "$@"
 }
@@ -42,7 +42,7 @@ list_remove () {
         if [ "$item" = "$2" ] ; then
             continue
         fi
-        echo -n "$item "
+        echo -nE "$item "
     done
 }
 
@@ -140,7 +140,7 @@ add_bootmgr_entry () {
         binary="$DESTDIR/$binary"
     fi
     binary="${binary#/boot/efi}"
-    binary="$(echo -n "$binary"|sed -e's;/;\\;g')"
+    binary="$(echo -nE "$binary"|sed -e's;/;\\;g')"
 
     if [ -n "$bootnum" ] ; then
         echo -n "$args" | verbose_cmd $EFIBOOTMGR $EFIBOOTMGR_OPTS --quiet \
This page took 0.071092 seconds and 4 git commands to generate.