git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 08/14] git-rebase.sh: use the $( ... ) construct for command substitution

From
Elia Pinto <gitter.spiros@gmail.com>
Date
Apr 23, 2014, 13:44 UTC
Message-ID
<1398260646-2660-8-git-send-email-gitter.spiros@gmail.com>
In-Reply-To
<1398260646-2660-1-git-send-email-gitter.spiros@gmail.com>

The Git CodingGuidelines prefer the $(...) construct for command substitution instead of using the backquotes `...`.

The backquoted form is the traditional method for command substitution, and is supported by POSIX. However, all but the simplest uses become complicated quickly. In particular, embedded command substitutions and/or the use of double quotes require careful escaping with the backslash character.

The patch was generated by:
for _f in $(find . -name "*.sh")
do
   sed -i 's@`\(.*\)`@$(\1)@g' ${_f}
done
and then carefully proof-read.
Signed-off-by: Elia Pinto <gitter.spiros@gmail.com>
---
 git-rebase.sh |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 4543815..5c7a0a1 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -457,8 +457,8 @@ then
 else
 	if test -z "$onto"
 	then
-		empty_tree=`git hash-object -t tree /dev/null`
-		onto=`git commit-tree $empty_tree </dev/null`
+		empty_tree=$(git hash-object -t tree /dev/null)
+		onto=$(git commit-tree $empty_tree </dev/null)
 		squash_onto="$onto"
 	fi
 	unset upstream_name
@@ -516,10 +516,10 @@ case "$#" in
 	;;
 0)
 	# Do not need to switch branches, we are already on it.
-	if branch_name=`git symbolic-ref -q HEAD`
+	if branch_name=$(git symbolic-ref -q HEAD)
 	then
 		head_name=$branch_name
-		branch_name=`expr "z$branch_name" : 'zrefs/heads/\(.*\)'`
+		branch_name=$(expr "z$branch_name" : 'zrefs/heads/\(.*\)')
 	else
 		head_name="detached HEAD"
 		branch_name=HEAD ;# detached
-- 
1.7.10.4
Previous: Elia PintoNext: Elia Pinto
Message 13 of 20 in “t9365-continuing-queries.sh: use the $( ... ) construct for command substitution”
  1. 01/14 t9365-continuing-queries.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  2. 02/14 test-gitmw-lib.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  3. 03/14 t7900-subtree.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  4. 04/14 appp.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  5. brian m. carlsonApr 25, 2014
  6. Junio C HamanoApr 28, 2014
  7. Matthieu MoyApr 28, 2014
  8. Junio C HamanoApr 28, 2014
  9. 05/14 txt-to-pot.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  10. Matthieu MoyApr 23, 2014
  11. 06/14 git-pull.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  12. 07/14 git-rebase--merge.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  13. 08/14 git-rebase.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  14. 09/14 git-stash.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  15. 10/14 git-web--browse.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  16. 11/14 lib-credential.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  17. 12/14 lib-cvs.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  18. 13/14 lib-gpg.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  19. 14/14 p5302-pack-index.sh: use the $( ... ) construct for command substitutionElia Pinto, Apr 23, 2014
  20. Matthieu MoyApr 23, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.