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

[PATCH 07/10] t5100-mailinfo.sh: use the $( ... ) construct for command substitution

From
Elia Pinto <gitter.spiros@gmail.com>
Date
Dec 22, 2015, 15:27 UTC
Message-ID
<1450798073-22811-8-git-send-email-gitter.spiros@gmail.com>
In-Reply-To
<1450798073-22811-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
	perl -i -pe 'BEGIN{undef $/;} s/`(.+?)`/\$(\1)/smg'  "${_f}"
done
and then carefully proof-read.
Signed-off-by: Elia Pinto <gitter.spiros@gmail.com>
---
 t/t5100-mailinfo.sh | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/t/t5100-mailinfo.sh b/t/t5100-mailinfo.sh
index e97cfb2..4e52b3b 100755
--- a/t/t5100-mailinfo.sh
+++ b/t/t5100-mailinfo.sh
@@ -9,9 +9,9 @@ test_description='git mailinfo and git mailsplit test'
 
 test_expect_success 'split sample box' \
 	'git mailsplit -o. "$TEST_DIRECTORY"/t5100/sample.mbox >last &&
-	last=`cat last` &&
+	last=$(cat last) &&
 	echo total is $last &&
-	test `cat last` = 17'
+	test $(cat last) = 17'
 
 check_mailinfo () {
 	mail=$1 opt=$2
@@ -23,7 +23,7 @@ check_mailinfo () {
 }
 
 
-for mail in `echo 00*`
+for mail in $(echo 00*)
 do
 	test_expect_success "mailinfo $mail" '
 		check_mailinfo $mail "" &&
@@ -47,11 +47,11 @@ test_expect_success 'split box with rfc2047 samples' \
 	'mkdir rfc2047 &&
 	git mailsplit -orfc2047 "$TEST_DIRECTORY"/t5100/rfc2047-samples.mbox \
 	  >rfc2047/last &&
-	last=`cat rfc2047/last` &&
+	last=$(cat rfc2047/last) &&
 	echo total is $last &&
-	test `cat rfc2047/last` = 11'
+	test $(cat rfc2047/last) = 11'
 
-for mail in `echo rfc2047/00*`
+for mail in $(echo rfc2047/00*)
 do
 	test_expect_success "mailinfo $mail" '
 		git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
-- 
2.3.3.GIT
Previous: Elia PintoNext: Johannes Sixt
Message 8 of 16 in “use the $( ... ) construct for command substitution”
  1. 00/10 use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  2. 01/10 t3101-ls-tree-dirname.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  3. 02/10 t3210-pack-refs.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  4. 03/10 t3403-rebase-skip.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  5. 04/10 t3511-cherry-pick-x.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  6. 05/10 t3600-rm.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  7. 06/10 t3700-add.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  8. 07/10 t5100-mailinfo.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  9. Johannes SixtDec 22, 2015
  10. Johannes SixtDec 22, 2015
  11. Junio C HamanoDec 27, 2015
  12. Junio C HamanoDec 28, 2015
  13. Johannes SixtDec 28, 2015
  14. 08/10 t5300-pack-object.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  15. 09/10 t5301-sliding-window.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015
  16. 10/10 t5302-pack-index.sh: use the $( ... ) construct for command substitutionElia Pinto, Dec 22, 2015

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.