capistrano/capistrano — pull request #280 by moutten (2012-09-28 17:50:09+00:00)
Title: Add comptability for the ZSH shell on remote host

Changes the use of a single square bracket shell conditional to a double
square bracket shell conditional, which still is still compatible with
bash and also works in other shells such as zsh.

While I'm not sure how to test this within the scope of this project. The
following are examples of how this is not currently working and how this
fixes the issue.

```sh
# This works
bash -c 'export GIT_RECURSIVE=$([ ! "git version 1.8" \< "git version 1.6.5" ] && echo --recursive); echo $GIT_RECURSIVE'

# This is broken
zsh -c 'export GIT_RECURSIVE=$([ ! "git version 1.8" \< "git version 1.6.5" ] && echo --recursive); echo $GIT_RECURSIVE'

# Both these work as expected
bash -c 'export GIT_RECURSIVE=$([[ ! "git version 1.8" < "git version 1.6.5" ]] && echo --recursive); echo $GIT_RECURSIVE'
zsh -c 'export GIT_RECURSIVE=$([[ ! "git version 1.8" < "git version 1.6.5" ]] && echo --recursive); echo $GIT_RECURSIVE'

# As well as these
bash -c 'export GIT_RECURSIVE=$([[ ! "git version 1.8" > "git version 1.6.5" ]] && echo --recursive); echo $GIT_RECURSIVE'
zsh -c 'export GIT_RECURSIVE=$([[ ! "git version 1.8" > "git version 1.6.5" ]] && echo --recursive); echo $GIT_RECURSIVE'