threads / patch / 9211

patchfilter-branch: fix dash complaining about "Missing '))'"

Subject: [PATCH] filter-branch: fix dash complaining about "Missing '))'"

## tl;dr

2 messages between Jul 24, 2007 and Jul 24, 2007. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

René Scharfe· Jul 24, 2007, 21:29 UTC · lore

On e.g. Ubuntu, dash is used as /bin/sh. Unlike bash it parses commands like

  a=$((echo stuff) | wc)

as an arithmetic expression while what we want is a subshell inside a command substitution. Resolve the ambiguity by placing a space between the two opening parentheses.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
---
Show changes to git-filter-branch.sh +1 −1
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index 0ff3475..b5fa449 100755
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -298,7 +298,7 @@ do
 	# Assign the boundarie(s) in the set of rewritten commits
 	# as the replacement commit(s).
 	# (This would look a bit nicer if --not --stdin worked.)
-	for p in $((cd "$workdir"/../map; ls | sed "s/^/^/") |
+	for p in $( (cd "$workdir"/../map; ls | sed "s/^/^/") |
 		git rev-list $ref --boundary --stdin |
 		sed -n "s/^-//p")
 	do
Johannes Schindelin· Jul 24, 2007, 22:22 UTC · re: René Scharfe · lore

Re: [PATCH] filter-branch: fix dash complaining about "Missing '))'"

Hi,
On Tue, 24 Jul 2007, Ren? Scharfe wrote:
Show 7 quoted lines
> On e.g. Ubuntu, dash is used as /bin/sh.  Unlike bash it parses
> commands like
> 
>   a=$((echo stuff) | wc)
> 
> as an arithmetic expression while what we want is a subshell inside
> a command substitution.
Ah, well.  I think I should switch to Ubuntu, to suffer the same...

Ciao, Dscho

← back to recent threads