[rtems commit] bootstrap: Use printf instead of echo -e for POSIX shells

Joel Sherrill joel at rtems.org
Fri Mar 9 19:22:53 UTC 2018


Module:    rtems
Branch:    master
Commit:    4dfeba3a0e53d4b697b07f9c10783c411e43ccdf
Changeset: http://git.rtems.org/rtems/commit/?id=4dfeba3a0e53d4b697b07f9c10783c411e43ccdf

Author:    Amaan Cheval <amaan.cheval at gmail.com>
Date:      Fri Mar  9 21:26:31 2018 +0530

bootstrap: Use printf instead of echo -e for POSIX shells

On POSIX compliant shells, echo does not have the -e option.
This causes the "-e" to be echoed as well, causing potential buggy
build processes.

Example shell session:

-> % sh
$ echo -e "foo bar"
-e foo bar
$

According to POSIX, "\$" should be fine regardless due to the use of
double-quotes[1]. However, since printf is recommended over echo anyway,
we replace "echo -e" with printf where required.

[1] http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_02_03

---

 bootstrap | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bootstrap b/bootstrap
index eb6d4fc..a0c6eda 100755
--- a/bootstrap
+++ b/bootstrap
@@ -152,7 +152,7 @@ headers)
           if test x$d != x. ; then
             am_dir=`echo $dir | sed 's%[/-]%_%g'`
             am_dir="_$am_dir"
-            echo -e "\ninclude${am_dir}dir = \$(includedir)/$dir" >> "$tmp"
+            printf "\ninclude%sdir = \$(includedir)/$dir\n" "$am_dir" >> "$tmp"
           else
             am_dir=""
             echo "" >> "$tmp"
@@ -161,7 +161,7 @@ headers)
         fi
         echo "include${am_dir}_HEADERS += $inc$j" >> "$tmp"
         if test $j = bsp.h ; then
-          echo -e "include_HEADERS += include/bspopts.h" >> "$tmp"
+          echo "include_HEADERS += include/bspopts.h" >> "$tmp"
         fi
       done
     done



More information about the vc mailing list